Why 21st Century Software Engineering is More Like French Fries than Ever - PowerPoint PPT Presentation

1 / 32
About This Presentation
Title:

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

Description:

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

Number of Views:182
Avg rating:3.0/5.0
Slides: 33
Provided by: Aerospa4
Category:

less

Transcript and Presenter's Notes

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


1
Why 21st 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

2
Ill give you the answer up front
  • It comes in many different sizes
  • Small
  • Medium
  • Large
  • Super-Size Me!
  • Its cheap and it doesnt last long
  • Nearly any alternative is healthier

3
Outline
  • Ill 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

4
Large Fries
  • High-Performance Computing

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

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
7
Increasing Complexity in HPC
  • Put another way

Chip Multi-issue SIMD Inst. 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
8
A Challenge Problem
  • What is the fastest way to transform a large
    amount of data through three transformations
    (Red, Green, and Blue)?
  • Ill give you two options (assume both will
    result in the same output)

Data
Data
9
A Challenge Problem Option 1
  • Do all the red, then all the green, then all the
    blue.

Data
10
A Challenge Problem Option 2
  • Chunk up the data and do red, then green, then
    blue on each chunk.

Data
11
Ordinary parallelism is only one side of the
story
  • Moores Law The number of transistors on a chip
    will double every 18 months

Credit User Wgsimon used under Creative Commons
ShareAlike 3.0 License
12
but what are we doing with those transistors?
  • Moores law the number of transistors on a chip
    will double every 18 months

Multicore VLIW/EPIC
Multicore SMT
GPUs
VLIW/EPIC
Heterogeneous Multiprocessor
Multicore
SMT, multi-issue
SMT, in-order
Superscalar, multi-issue
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

14
A Little Research
15
Medium Fries
  • Kinda-Embedded Computing

16
Kinda-Embedded Computing
  • New computing platforms and processors emerging
    in a niche we havent 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

17
Applications
  • Cell phones, tablets, PDAs, other handhelds
  • Plug Computers
  • Car-puters
  • Walltops
  • Location-aware applications
  • Situational Awareness
  • Micro web-servers
  • Spaceborne(?)

18
Research Gumstix for HPC-style Processing
  • Are 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)

19
Performance of various implementations
  • Comparing Gumstix implementation strategies to
    Mac Mini

20
Energy Use
  • Its slower, but how much energy does it use?
  • Gumstix extremely close to Mac Mini in terms of
    power consumption

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.

22
Small Fries
  • Wireless Sensor Networks

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

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
25
How Motes Work
Base Station PC
  • Drop a bunch of motes in an area
  • Distance between them 50-100 meters
  • One distinguished mote is the gatewaythis is
    connected to an ordinary PC bya serial
    connection or Ethernettransceiver for data
    collection

26
How Motes Work
  • Drop a bunch of motes in an area
  • Distance between them 50-100 meters
  • One distinguished mote is the gatewaythis 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 parentin the network
  • Base station ultimately gets all data

27
A sample application we developed
  • Signal transmitter tracking application

28
A sample application we developed
  • Cell-phone tracking application

29
The Software Stacks
XMesh forms and maintains ad-hoc network also
provides interface for other TinyOS components to
send and receive messages.
Map UI
Tables
Web UI
XServe receives data from base station mote and
makes itavailable to user-space apps
XMesh
Timers/Utilities
Device Drivers
Device Control
User App
Socket
TinyOS
XServe
Mote software based on open-source TinyOS. A
thin component model is built on top of that.
Motes communicateover 802.15.4 protocol(used in
ZigBee devices) Long-range, low data rate.
Serial
USB
Ethernet
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 -gt BlinkM.StdControl 
Main.StdControl -gt SingleTimer.StdControl 
BlinkM.Timer -gt SingleTimer.Timer  BlinkM.Leds
-gt LedsC interface Timer   command
result_t start(char type, uint32_t interval) 
command result_t stop()  event result_t
fired()
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?

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 costbenefit ratio

All trademarks, service marks, and trade names
are the property of their respective owners.
Write a Comment
User Comments (0)
About PowerShow.com