Lecture 23 - Current and Future OS Issues
- Announcements
- Presentation Information
- Current and Future OS Issues
- Course Evaluations
Much of what we have discussed this semester applies to modern desktop
and server operating systems. Last week, we talked about some of the
issues that arise when multiprocessors or distributed systems are
used.
Some of the most interesting (to me, anyway) current and future
OS-related issues arise in the high-end parallel and distributed
systems that are the fastest computers in the world today.
Before we look at today's systems, consider a few parallel systems
that were precursors to today's systems:
Typical current systems:
Larger Cluster-based systems
Some issues for the clustered systems:
ASCI-class supercomputers: Achieving the Teraflop.
Mid-late 1990's - Department of Energy program to push toward a
teraflop system.
Into the "New Millennium"
What's up right now
Coming Soon
First 100 Teraflop system contract recently awarded to IBM to
build ASCI
Purple.
Something Different
Tera/Cray
MTA. Only one MTA-1 in
production, SDSC. OS is MTX, a fully-distributed Unix variant. The
system is thoroughly multithreaded, with each "processor" actually
consisting of a number of streams, each of which is fed the code and
data to do some part of the computation. A sufficiently multithreaded
application can keep most of these streams busy, meaning that the
penalty we usually pay for memory latency is gone. In fact, the
system has no traditional memory cache, since it can rely on this
multithreading to mask memory latency. The MTA-2 has since
arrived. Its architecture is similar to the MTA-1, but it's all CMOS
instead of GaAs.
A little more from a Cray developer:
The MTA-2 is quite different. The instruction set is the same as in
the MTA-1. But the MTA-2 is built from all-CMOS parts. It also has a
completely different mechanical structure, and a completely different
network structure. It can also handle more memory, I believe.
Processor boards come in groups of 16 called "cages." Each processor
board (we call them system boards) has one CPU, two memory controllers,
one IOP. Those four entities are called "resources." Each resource is
attached to a network node. The network nodes are connected to each
other in a ring on the system board, and to other boards with various
kinds of inter-board connections.
The MTA system is fully scannable, i.e., with few exceptions,
every flop in the machine can be written and read by diagnostic
control programs. This is how we boot the machine - essentially we
write the state we want into the machine, and then say "go." When
we bring the machine down we read the state out and can get diagnostic
information that way. We use the scan system heavily - for booting,
part testing, development, all kinds of things.
HTMT (Hybrid Technology Multhithreaded
Architecture) Petaflop machine,
2007? NASA JPL among others. Yes, that's petaflop. 1 million
billion floating point operations per second. Highlights:
Superconducting 100 GHz Processors, running at 4 degrees Kelvin, with
smart in-processor memories. Even some physicists think 4 K is kind
of chilly. SRAM section cooled by liquid nitrogen. Optical packet
switching - the "data vortex." Massive storage - high-density
holographic storage system.
Issues:
Breakdown of SMP scalability?
Job scheduling; partitioning the computer among running jobs
Wire length is a key factor - longer wires mean it takes longer
for information to arrive. Even on the bullpen cluster, the gigabit
network is limited to short cables (less than 2 feet). Locality,
locality, locality.
Disks? High performance filesystems? Hierarchical filesystems.
Memory hierarchies can be extreme - consider the HTMT.