CS514: Intermediate Course in Operating Systems Professor Ken Birman Ben Atkin: TA Lecture 27: Nov. 30 Trends in Systems • Today is our last lecture • Have seen a great deal of technology – – – – Mixture of current systems Emerging products and systems Technologies Research trends • What will we see next? Traditional Areas • • • • • • • File systems Communications Naming of objects, interoperation Security Resource management Transactions Extensibility Emerging areas • Scalable service management • Tools for hosting data • Mechanisms for offloading work from customers onto 3rd party solution provider systems • QoS mechanisms • Power-aware and mobility support Where are the big opportunities? • We could review these one topic at a time, but that might get dull • Can we develop a methodology for recognizing big opportunities and “leaping in”? Technology trends CPU MIPS 700 600 500 400 300 200 100 0 Memory MB LAN Mbits 5 0 -2 0 0 0 0 0 O/S overhead 2 1 9 9 5 -2 0 0 5 9 9 -1 0 9 9 1 1 9 8 5 -1 9 9 0 WAN Mbits Source: Scientific American, Sept. 1995 Note tremendous growth in WAN speeds Typical latencies (milliseconds) Disk I/O 1000 100 Ethernet RPC 10 1 ATM roundtrip 0.1 WAN roundtrip 5 -2 0 0 0 0 0 0 2 1 9 9 5 -2 0 0 5 9 9 -1 0 9 9 1 1 9 8 5 -1 9 9 0 0.01 WAN, disk latencies are fairly constant due to physical limitations O/S latency: the most expensive overhead on LAN communication! 40 35 30 25 20 15 10 5 0 O/S overhead in proportional terms 19851990 19952000 Suggests? • Notice that revolutionary opportunity is triggered by technical discontinuity • To predict a revolution… … just identify a technology sector about to be shaken up by a trend that breaks the usual relationships … predict “big things will happen” Recent revolutions • Internet became much faster, more widely available • Operating systems became object oriented – Enabled the Web – Which enabled all sorts of B2B developments people knew were coming… Other examples? • For a long time, PCs were slow and balky, but very cheap • But around 1990 technology gave us a fast, big PC – Suddenly, desktop world yielded to PC world – Price point can trigger a discontinuity Other examples? • We used to be short on memory hence relied heavily on disks • But around 1985 memory sizes and cost changed the equation • Suddenly massive caches made sense – Giving us ideas like log-structured file systems and new styles of caching in file and database systems – A world where 100% hit rates made sense Looking to the future? • Major discontinuities: – Move from PC to PDA/telephone hybrids – Mobility, disconnected operation – Emergence of huge numbers of computing systems that need to cooperate – Perhaps, some form of QoS? Want to have an impact? • Trick is to zero in on one of these areas • Be an early player – For example, get a mobile hand-held system and start to play with it – Lots of things in the legacy infrastructure just aren’t right for it • Your opportunity: fix a few of them by doing the obvious things • And you’ll instantly be famous! Mobile Trends • Nomadicity: increasingly powerful nomadic devices – Anticipate fusion of web browser, telephone and also PDA functionality – Some devices of this sort already exist – but they remain primitive – Low bandwidth interaction a big obstacle right now – you can’t talk to it, but typing without a keyboard is a pain Mobile trends • Communications standards – We already are seeing widespread use of wireless ethernet cards – Bluetooth is the next big step: widespread low-power connectivity for small devices – XML helps: data objects are readily understood… fewer proprietary standards Mobile trends • Power conservation – Also better understood – Flexibility: compute faster or slower, move code or data, sleep or run more actively – Signal strength also a factor Mobile trends • Suggests a future in which – We’ll move from place to place with our computing context – In a given setting, devices find the appropriate local resources and can talk to them – And device is smart about when to ship code, when to ship data Mobile trends • But this also points to a missing link: exciting research opportunity – How to do naming of objects in this new mobile world? • User wants a single personalized name for resources and a single name space • But we also need to share things – And how to organize or structure a nomadic or wireless environment – Peer-to-peer and multi-peer opportunity will be enormous Illustrating… • A discontinuous development – From fixed infrastructure to mobile wireless one – High performance but power-aware – Fusion of previously independent technologies (voice, web, email) • Stress on existing infrastructure – We tend to adapt the existing infrastructure to the new setting – But a whole new approach may be needed Driving… • New ideas in file systems – How should we do file systems for mobile and wireless systems? • Communication – How should we do point to point and multicast for wireless peer-to-peer or “ad-hoc” networks? – Is TCP the right protocol for a wireless connection to a server? • The list goes on… Dangers • It is easy to overreach – People tend to try to do 10 things all at the same time… – Need to be incremental • Challenge? – Picking the right first step – The right infrastructure can enable just about anything! The demise of curiosity driven research • Computer science is less and less of a traditional science – In the early days, we did “curiosity driven research” • Solve problems mostly for fun… – Today, we think in terms of market demand and technology transition – Even academic research is more and more focused on impact • So don’t get carried away with esoteric or theoretical ideas… • Build and demonstrate your technologies! Other examples • Until recently, we needed more and more computing power to run even desktop environments • But recently, advances in PC performance have outstripped demand for improved performance • Creates an opportunity to do “PC hosting” using virtual computing systems; end-user has a lightweight device interface Other examples • Pent-up demand for network QoS solutions is enormous • Can we somehow evade QoS problems associated with the Internet? • For example, routing – Routing hasn’t gotten much attention lately – As we saw, routing is rather slow and static – Better routing could be a breakthrough opportunity Object orientation • World went from – Big clumsy objects (RPC) – To smaller components – To XML encodings • Suddenly, we need to manage massive numbers of small components and objects • How can we structure this new world to behave in a predictable, reliable manner? The list goes on… • Broadly, the need is for – Progress, mostly driven by hardware advances – Which implies certain necessary infrastructure changes • But we also want – Reliability, predictability, security – And we need to make money doing it: technology is no longer something people do for its own sake – Also want to make the world a better place The end • Hope you got something out of the course! • Appropriate spring courses – CS414 (for those who really didn’t have the background for 514!) – CS513 (like 514 but security) – CS614 (entirely journal papers and lots of them; Ken will teach this) – ECE 566 (wireless networks) – ECE 572 (parallel architecture)