32
© The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department The Aerospace Corporation CSRD/CSTS/ETG March 8, 2011 1

© The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

  • View
    214

  • Download
    1

Embed Size (px)

Citation preview

Page 1: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

© The Aerospace Corporation 2011

Why 21st Century Software Engineering is More Like French Fries than Ever

Eric M. DashofyComputer Systems Research DepartmentThe Aerospace Corporation

CSRD/CSTS/ETGMarch 8, 2011

1

Page 2: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

2

I’ll give you the answer up front…

• It comes in many different sizes:– Small

– Medium

– Large

– Super-Size Me!

• It’s cheap and it doesn’t last long

• Nearly any alternative is healthier

Page 3: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

3

Outline

• I’ll talk about three areas of interest at different scales– Small: Wireless sensor networks

– Medium: Tiny embedded computers, clustered

– Large: High-performance and cloud computing

• And identify some unique challenges in each area

• And describe some Aerospace research or investigations in each one

Page 4: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

© The Aerospace Corporation 2011

Large Fries

High-Performance Computing

Page 5: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

5

High-Performance Computing

• Critical domain to work of The Aerospace Corporation• Solving computationally-intensive problems, generally with large data

sets• Sometimes data sets are from “real” sensor sources:

– Signal processing, image processing• Sometimes they are synthesized

– e.g., find optimal satellite configuration through exhaustive search or Monte-Carlo method

• …using a variety of different, interconnected computing architectures, techniques, and resources beyond a single core/serial implementation.

• HPC-style resources are everywhere: laptops, desktops, gaming consoles, embedded processors…

Page 6: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

6

Major trends in HPC

• Increasing the speed of individual processing elements– i.e., more megahertz!

• Increasing the “smarts” within processors– i.e., longer pipelines, branch prediction, speculative execution

• Parallelism is the name of the game: dwarfs megahertz and smarts

At the level of… Through…

Instructions Multi-issue processors

Data elements Vector processing, SIMD instructions

Threads “Hyperthreading”

Processor elements Multicore processors, Heterogeneous Multicore

Processors Symmetric Multiprocessing (SMP), NUMA

Machines Cluster-based computing

Clusters Grid computing

Page 7: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

7

Increasing Complexity in HPC

• Put another way…

Chip Multi-issue

SIMDInst.

SIMD Units

SMT Multi-core

VLIW/EPIC

Multi-Proc.

H.M.P.

486 X

Pentium X X

PII/III X X X

P4 X X X X

Core… X X X X

GPUs X X

Power6 X X X X X

Itanium X X X X

Cell X/X X/_ X/X X X

Not shown: FPGAs, tile-based computing…

Page 8: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

8

A Challenge Problem

• What is the fastest way to transform a large amount of data through three transformations (“Red”, “Green”, and “Blue”)?– I’ll give you two options (assume both will result in the same output)

Data

Data

Page 9: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

9

A Challenge Problem: Option 1

• Do all the red, then all the green, then all the blue.

Data

Page 10: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

10

A Challenge Problem: Option 2

• Chunk up the data and do red, then green, then blue on each chunk.

Data

Page 11: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

11

Ordinary parallelism is only one side of the story…• Moore’s Law: The number of transistors on a chip will double every ~18 months

Credit: User Wgsimon; used under Creative Commons ShareAlike 3.0 License

Page 12: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

12

…but what are we doing with those transistors?• Moore’s law: the number of transistors on a chip will double every

~18 months

Superscalar, multi-issue

SMT, in-order

SMT, multi-issueMulticore

VLIW/EPIC

Multicore VLIW/EPIC

GPUs

Heterogeneous Multiprocessor

Multicore + SMT

Page 13: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

13

Key Challenges

• Parallelism is still hard for people to understand and master– Some techniques – OpenMP, actor model – ease things

• Trying out different parallelization strategies is still expensive and labor-intensive

• Good tooling is hard to get, because the platforms are evolving faster than the tools can be built

Page 14: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

14

A Little Research

Page 15: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

© The Aerospace Corporation 2011

Medium Fries

Kinda-Embedded Computing

Page 16: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

16

“Kinda-Embedded” Computing

• New computing platforms and processors emerging in a niche we haven’t seen before– The power, programmability, and connectivity of an (old) desktop

computer

– In extremely small form factors

• Largely driven by developments in cell phone technology

• Meet Gumstix Overo

• 600Mhz ARM-based processor w/extensions

• 256MB RAM, 256MB Flash, plus SD card (up to 8GB)

• 10/100 Ethernet, 54mbps WiFi, Bluetooth

• USB, HDMI

Page 17: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

17

Applications

• Cell phones, tablets, PDAs, other handhelds

• “Plug Computers”

• Car-puters

• Walltops

• Location-aware applications

• Situational Awareness

• Micro web-servers

• Spaceborne(?)

Page 18: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

18

Research: Gumstix for HPC-style ProcessingAre they viable for future spaceborne applications?

• Worked with a UCSB student team and a summer intern

• Developed two clusters– One homemade

– One on Gumstix “Stagecoach” backplane

• Ported Range-Doppler SAR algorithm to Gumstix and parallelized it

• Compared performance and power usage to a small-form-factor desktop (Mac Mini)

Page 19: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

19

Performance of various implementationsComparing Gumstix implementation strategies to Mac Mini

Page 20: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

20

Energy UseIt’s slower, but how much energy does it use?

Gumstix extremely close to Mac Mini in terms of power consumption

Page 21: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

21

Key Challenges

• Optimization can make performance vary widely– Software engineering gives us few tools to do that optimization

• Biggest performance gains at very low levels of abstraction

• Likely to see increasing diversity in processors at this scale– Will what we learn on one apply to another?

• True mobility requires batteries– Power-aware computing probably increasingly important

– But the lure of these platforms is how similar they are to platforms where we can blithely ignore power use.

Page 22: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

© The Aerospace Corporation 2011

Small Fries

Wireless Sensor Networks

Page 23: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

23

Wireless Sensor Networks

• A wireless network of physically distributed small computing devices (colloquially: “motes”) equipped with tiny sensors

• Additional characteristics:

– Network topology may be fixed, variable, or ad-hoc

• Motes may be mobile, though infrequently

– Devices expected to run for months or years unattended

– Data collected generally forwarded to a central collection point

– Network should survive the loss of numerous motes

• Applications:

– Environmental monitoring

– Factory/industrial monitoring

– Target detection and tracking

Page 24: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

24

Meet Mica

• MicaZ Mote– 8Mhz Atmel ATMega128 Microcontroller (MIPS-like assembly language)– 4KB of RAM– 512KB of Flash (usually partitioned into 4x128KB program blocks)– CC2420 802.15.4 “Zigbee”-compliant radio

• 7 power usage modes– Several analog inputs, several digital inputs, I2C

• Sensor boards stack on top– Light, temperature, humidity,

orientation (magnetometer),acceleration, location (GPS),microphone (levels only)

Crossbow MicaZ Mote

Page 25: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

25

How Motes Work

• Drop a bunch of motes in an area

• Distance between them: 50-100 meters

• One distinguished mote is the “gateway;”this is connected to an ordinary PC bya serial connection or Ethernettransceiver for data collection

GW

Base Station PC

Page 26: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

26

How Motes Work

• Drop a bunch of motes in an area

• Distance between them: 50-100 meters

• One distinguished mote is the “gateway;”this is connected to an ordinary PC bya serial connection or Ethernettransceiver for data collection

• Software on the motes allows themto self-organize, collect data, andreport that data to their ‘parent’in the network– Base station ultimately gets all data

GW

Page 27: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

27

A sample application we developed

• Signal transmitter tracking application

Page 28: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

28

A sample application we developed

• Cell-phone tracking application

Page 29: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

29

The Software Stacks

TinyOS

XM

esh

Tim

ers/

Util

ities

Dev

ice

Driv

ers

Dev

ice

Con

trol

Mote software based on open-source

TinyOS. A thin component

model is built on top of that.

XMesh forms and maintains ad-hoc

network; also provides interface for other TinyOS components to

send and receive messages.

Motes communicateover 802.15.4 protocol

(used in ZigBee devices)Long-range, low data rate.

Serial USB Ethernet

XServe

Socket

User App

XServe receives data

from base station mote and makes itavailable to

user-space apps

Map

UI

Tab

les

Web

UI

Page 30: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

30

Software on the Motes

• TinyOS developed concurrently with the Mica family motes– Mica motes still probably the #1 platform for TinyOS – Other platforms supported

• Amazingly, there is a thin but useful component model

• Components written in nesC (a dialectof C) with well-defined interfaces

• Interfaces connected through aconfiguration diagram that resemblesearly module interconnectionlanguages (e.g., Polylith)

configuration Blink {}implementation {  components Main, BlinkM, SingleTimer, LedsC;

  Main.StdControl -> BlinkM.StdControl;  Main.StdControl -> SingleTimer.StdControl;  BlinkM.Timer -> SingleTimer.Timer;  BlinkM.Leds -> LedsC;}

interface Timer {  command result_t start(char type, uint32_t interval);  command result_t stop();  event result_t fired();}

Page 31: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

31

Key Challenges

• Extreme power management is key– How can we better integrate higher-level power management

principles into the sensor architecture?• Control flow is low-level and painful

– Can we alleviate this with higher-level models that are “compiled down” to implementations without sacrificing power?

• Are there architectural styles appropriate for these applications?– How do you build applications that use computation and

aggregation in-the-mesh to reduce data transmission?• How do you build debuggable systems?• How do you transition to next-generation systems?

Page 32: © The Aerospace Corporation 2011 Why 21 st Century Software Engineering is More Like French Fries than Ever Eric M. Dashofy Computer Systems Research Department

32

Conclusion

• We are faced with yet-another “Cambrian Explosion” of– Scales

– Platforms

• Software engineering knowledge and insight lacking in these domains– For the smaller domains, abstraction (the key to software engineering) is

the enemy of performance and battery life

• We are building platforms faster than we can build tools and far faster than we can build skills– Domain experts often have little formal training in software engineering

• Need lightweight “force multipliers” with a very low cost:benefit ratio

All trademarks, service marks, and trade names are the property of their respective owners.