Put Everything in Future (Disk) Controllers (it’s not “if”, it’s “when?”) Acknowledgements

advertisement
Put Everything
in Future (Disk) Controllers
(it’s not “if”, it’s “when?”)
Jim Gray
http://www.research.Microsoft.com/~Gray
Acknowledgements:
Dave Patterson explained this to me a year ago
Kim Keeton
Erik Riedel Helped me sharpen
these arguments
Catharine Van Ingen
1
Remember Your Roots
2
Kilo
Mega
Giga
Tera
Peta
Exa
Zetta
Technology Drivers: Disks
• Disks on track
• 100x in 10 years
•
•
2 TB 3.5” drive
Shrink to 1” is 200GB
Disk replaces tape?
Yotta
• Disk is super computer!
3
Data Gravity
Processing Moves to Transducers
• Move Processing to data sources
• Move to where the power (and sheet metal) is
• Processor in
» Modem
» Display
» Microphones (speech recognition)
& cameras (vision)
» Storage: Data storage and analysis
4
It’s Already True of Printers
Peripheral = CyberBrick
• You buy a printer
• You get a
» several network interfaces
» A Postscript engine
• cpu,
• memory,
• software,
• a spooler (soon)
» and… a print engine.
5
All Device Controllers will be Cray 1’s
•
TODAY
» Disk controller is 10 mips risc engine
•
»
with 2MB DRAM
NIC is similar power
SOON
Central
Processor &
Memory
» Will become 100 mips systems
•
•
with 100 MB DRAM.
They are nodes in a federation
(can run Oracle on NT in disk controller).
Advantages
» Uniform programming model
» Great tools
» Security
» economics (CyberBricks)
» Move computation to data (minimize traffic)
Tera Byte
Backplane
6
Basic Argument for x-Disks
• Future disk controller is a super-computer.
» 1 bips processor
» 128 MB dram
» 100 GB disk plus one arm
• Connects to SAN via high-level protocols
» RPC,
HTTP, DCOM, Kerberos, Directory Services,….
» Commands are RPCs
» management, security,….
» Services file/web/db/… requests
» Managed by general-purpose OS with good dev environment
• Move apps to disk to save data movement
» need programming environment in controller
7
The Slippery Slope
Nothing =
Sector Server
• If you add function to server
• Then you
add more function to server
• Function gravitates to data.
Everything =
App Server
8
Why Not a Sector Server?
(let’s get physical!)
• Good idea, that’s what we have today.
• But
» cache added for performance
» Sector remap added for fault tolerance
» error reporting and diagnostics added
» SCSI commends (reserve,.. are growing)
» Sharing problematic (space mgmt, security,…)
• Slipping down the slope to a 2-D block server
9
Why Not a 1-D Block Server?
Put A LITTLE on the Disk Server
• Tried and true design
» HSC - VAX cluster
» EMC
» IBM Sysplex (3980?)
• But look inside
» Has a cache
» Has space management
» Has error reporting & management
» Has RAID 0, 1, 2, 3, 4, 5, 10, 50,…
» Has locking
» Has remote replication
» Has an OS
» Security is problematic
» Low-level interface moves too many bytes
10
Why Not a 2-D Block Server?
Put A LITTLE on the Disk Server
• Tried and true design
» Cedar -> NFS
» file server, cache, space,..
» Open file is many fewer msgs
• Grows to have
» Directories + Naming
» Authentication + access control
» RAID 0, 1, 2, 3, 4, 5, 10, 50,…
» Locking
» Backup/restore/admin
» Cooperative caching with client
• File Servers are a BIG hit: NetWare™
»SNAP! is my favorite today
11
Why Not a File Server?
Put a Little on the Disk Server
• Tried and true design
» Auspex, NetApp,
» Netware
...
• Yes, but look at NetWare
» File interface gives you app invocation interface
» Became an app server
• Mail,
DB, Web,….
» Netware had a primitive OS
• Hard to program, so optimized wrong thing
12
Why Not Everything?
Allow Everything on Disk Server
(thin client’s)
• Tried and true design
» Mainframes, Minis, ...
» Web servers,…
» Encapsulates data
» Minimizes data moves
» Scaleable
• It is where everyone ends up.
• All the arguments against are short-term.
13
The Slippery Slope
Nothing =
Sector Server
• If you add function to server
• Then you
add more function to server
• Function gravitates to data.
Everything =
App Server
14
Disk = Node
• has magnetic storage (100 GB?)
• has processor & DRAM
• has SAN attachment
• has execution
Applications
environment
Services
DBMS
RPC, ...
File System
SAN driver
Disk driver
OS Kernel
15
Technology Drivers:
System on a Chip
• Integrate Processing with memory on one chip
» chip is 75% memory now
» 1MB cache >> 1960 supercomputers
» 256 Mb memory chip is 32 MB!
» IRAM, CRAM, PIM,… projects abound
• Integrate Networking with processing on one chip
» system bus is a kind of network
» ATM, FiberChannel, Ethernet,.. Logic on chip.
» Direct IO (no intermediate bus)
• Functionally specialized cards shrink to a chip.
16
Technology Drivers: What if
Networking Was as Cheap As Disk IO?
• TCP/IP
• Disk
»Unix/NT
100% cpu @ 40MBps
»Unix/NT
8% cpu @ 40MBps
Why the Difference?
Host does
TCP/IP packetizing,
checksum,…
flow control
small buffers
Host Bus Adapter does
SCSI packetizing,
checksum,…
flow control
17
DMA
Technology Drivers:
The Promise of SAN/VIA:10x in 2 years
• Today:
http://www.viarch.org/
» wires are 10 MBps (100 Mbps Ethernet)
» ~20 MBps tcp/ip saturates 2 cpus
» round-trip latency is ~300 us
• In the lab
» Wires are 10x faster Myrinet, Gbps Ethernet, ServerNet,…
» Fast user-level communication
• tcp/ip ~ 100 MBps 10% of each processor
• round-trip latency is 15 us
18
SAN:
Standard Interconnect
Gbps Ethernet: 110 MBps
PCI: 70 MBps
UW Scsi: 40 MBps
• LAN faster than
•
•
•
memory bus?
1 GBps links in lab.
100$ port cost soon
Port is computer
FW scsi: 20 MBps
scsi: 5 MBps
19
Technology Drivers:
100 GBps Ethernet replaces SCSI
• Why I love SCSI
» Its fast (40MBps)
» The protocol uses little processor power
• Why I hate SCSI
» Wires must be short
» Cables are pricy
» pins bend
20
Functionally Specialized Cards
• Storage
P mips processor
ASIC
Today:
P=50 mips
• Network
M MB DRAM
M= 2 MB
In a few years
ASIC
P= 200 mips
M= 64 MB
• Display
ASIC
21
Technology Drivers
Plug & Play Software
• RPC is standardizing: (DCOM, IIOP, HTTP)
» Gives huge TOOL LEVERAGE
» Solves the hard problems for you:
• naming,
• security,
• directory service,
• operations,...
• Commoditized
programming environments
» FreeBSD, Linix, Solaris,…+ tools
» NetWare + tools
» WinCE, WinNT,…+ tools
» JavaOS + tools
• Apps gravitate to data.
• General purpose OS on dedicated ctlr can run apps.
22
Basic Argument for x-Disks
• Future disk controller is a super-computer.
» 1 bips processor
» 128 MB dram
» 100 GB disk plus one arm
• Connects to SAN via high-level protocols
» RPC,
HTTP, DCOM, Kerberos, Directory Services,….
» Commands are RPCs
» management, security,….
» Services file/web/db/… requests
» Managed by general-purpose OS with good dev environment
• Move apps to disk to save data movement
» need programming environment in controller
23
Download