0
Scalable Elastic System Architecture (SESA)      Dan Schatzberg, Boston University     Jonathan Appavoo, Boston University...
The goalPerform more computation with fewer            resources
Fixed Resources• Hardware as a fixed resource• Focus on reducing computation’s need for  hardware resources• Multiplex hard...
Elastic Resources• Cloud Computing • Pay as you go hardware• Focus on providing hardware to the  computation that requires...
Time to scale hardwareDays              Minutes  Fixed               Cloud ComputingHardware
Time to scale hardwareDays              Minutes  Fixed               Cloud ComputingHardware              Elastic Applicat...
Time to scale hardwareDays              Minutes            Milliseconds  Fixed               Cloud ComputingHardware      ...
Interactive HPC• Medical imaging application • interactive • 1 megapixel image • quadratic memory consumption - ~14TB
Interactive HPC• Fixed Hardware • Purchase a cluster
Interactive HPC• Cloud Computing • Allocate a cluster • Maintain interactivity • 650+ EC2 instances - $8000 dollars / 8   ...
Can we do better?
Where we’re starting  Treat elasticity as a first-class system               characteristic
OUTLINE1. THE PROBLEM2. OBSERVATIONS 1. Top-Down Demand 2. Bottom-Up Support 3. Modularity3. OUR TAKE ON A SOLUTION4. PROT...
Top-Down DemandSystem Interface        Software  Hardware
Top-Down DemandSystem Interface  Hardware
Top-Down DemandSystem Interface  Hardware
Top-Down DemandSystem Interface  Hardware
Top-Down DemandSystem Interface  Hardware
Top-Down DemandSystem Interface  Hardware
Events as Load• Treat a service request as an event that is  dispatched to resources• As events occur, load increases• As ...
Bottom-Up SupportSystem Interface  Hardware
Bottom-Up SupportSystem Interface  Hardware                   Allocate/Deallocate                                   Resour...
Bottom-Up SupportSystem Interface  Hardware
Elastic Interface• Support elasticity by interfacing via  allocation and deallocation of physical or  logical resources• E...
ModularitySystem Interface  Hardware
ModularitySystem Interface  Hardware
ModularitySystem Interface  Hardware
ModularitySystem Interface  Hardware
Object model• Objects can take advantage • the semantics of their request patterns • the lifetime of an instance • the occ...
OUTLINE1. THE PROBLEM2. OBSERVATIONS3. OUR TAKE ON A SOLUTION : SESA 1. EBB’s : Elastic Building Blocks 2. SEE: Scalable E...
Architecture Overview       Hardware
Architecture Overview                     FAWN               SSD
Architecture Overview       Partitioning                            FAWN                      SSD
Architecture Overview           Kittyhawk                             FAWN                       SSD
Architecture Overview      System Software              Kittyhawk                                FAWN                     ...
Architecture Overview                               HAL           Kittyhawk                             FAWN              ...
Architecture Overview       Applications                                  HAL              Kittyhawk                      ...
Architecture Overview                             ?                                   HAL           Kittyhawk             ...
Architecture Overview                             ?                                   HAL           Kittyhawk             ...
SESA        SE APP/SERVICE        EBB Namespace            System Software Layers                                      Com...
EBB’s                A new Component Model                   for expressing andEBB NameSpace    encapsulating fine grain   ...
Clustered Objects (CO)                            dref(ctr)->inc();                    val()                              ...
What did we learn?• Event-driven architecture for lazy and  dynamic instantiation of resources• Mechanism to create scalab...
Elastic Building Blocks• Programming Model for  Elastic and Scalable  Components• Span multiple nodes• Built in On Demand ...
SEE                          A Distributed Library OS                          Model designed to enable      SEExecutive  ...
Libra                    Architecture     Controller      Application    Application   Application       vironment for bot...
Libra                                  X86 Linux Front EndsPool of Libra Partitions                                       ...
Libra                                  X86 Linux Front EndsPool of Libra Partitions                                       ...
Libra                                  X86 Linux Front EndsPool of Libra Partitions                                       ...
Libra                                  X86 Linux Front EndsPool of Libra Partitions                                       ...
Libra                                  X86 Linux Front EndsPool of Libra Partitions                                       ...
Libra                                X86 Linux Front EndsPool of Libra Partitions                                        $...
What did we learn?• Specialized environment for each  application• Lightweight system layer implementing  services for per...
SEE : A LibOS for SESA• Distributed LibOS that  can elastically span                                    Per-node EBB manif...
SEMachines and EPICs         SEMachine           Hardware Abstraction Layer :SEHAL   SEHAL        SEHAL             EPIC
ProgrammableInterrupt Controller          Source              Interrupt      0   1    1    0               Execution
ProgrammableInterrupt Controller          Source              Interrupt      1   1    1    0               Execution
ProgrammableInterrupt Controller          Source               Event      1   1   1      0                   Action
Elastic ProgrammableInterrupt Controller              Source                   Event  1   0   1   1   1      0      0   0 ...
Elastic Programmable    Interrupt Controller                Source                        Event                  ...1   0 ...
Elastic Programmable Interrupt Controller• Programmed by the SEE• Provides the minimum requirement of  elastic application...
OUTLINE1. THE PROBLEM2. OBSERVATIONS3. OUR TAKE ON A SOLUTION4. PROTOTYPE & CHALLENGES
PROTOTYPE APP             SESA SAGE                                 Traditional HWSage*         SERVICES             Elast...
Challenges and Discussion
OUTLINE1. THE PROBLEM 1. Pay as you go computing 2. Insufficient systems support for elasticity2. OBSERVATIONS3. OUR TAKE O...
Pay as you go hardware            SoftwareConsumerProvider
Pay as you go hardware             SoftwareConsumer   RequestProvider
Pay as you go hardware            SoftwareConsumerProvider
Elastic Website              Load BalancerConsumerProvider
Elastic Website              Load BalancerConsumerProvider
Elastic Website              Load BalancerConsumerProvider
Other Elastic        Applications• Analytics• Batch computation• Stream processing
What’s the problem?• Allocation/Boot-time• Programmability
Medical Imaging       Application• Megapixel image• Quadratic algorithm• (1 mil pixels * 4 bytes/pixel)^2 ~ 14 TB• On Amaz...
SnowflockConsumerProvider
SnowflockConsumerProvider
SnowflockConsumerProvider
Distributing an ObjectNon-Distributed Object Instance   Region List Lock   L        Region List       R0    Other         ...
L            R0    Root         Rep0L       R0                              L                        R1       R1          ...
Elastic ProgrammableInterrupt Controller          Source               Event      1   1   1      0                   Action
Upcoming SlideShare
Loading in...5
×

Scalable Elastic Systems Architecture (SESA)

1,396

Published on

Dan Schatzberg, Jonathan Appavoo, Orran Krieger, and Eric Van Hensbergen. Scalable elastic systems architecture. In Proceedings of the ASPLOS Runtime Environment/Systems, Layering, and Virtualized
Environments (RESoLVE) Workshop. ASPLOS, March 2011.

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,396
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
21
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Transcript of "Scalable Elastic Systems Architecture (SESA)"

  1. 1. Scalable Elastic System Architecture (SESA) Dan Schatzberg, Boston University Jonathan Appavoo, Boston University Orran Krieger,VMware Eric Van Hensbergen, IBM Research Austin
  2. 2. The goalPerform more computation with fewer resources
  3. 3. Fixed Resources• Hardware as a fixed resource• Focus on reducing computation’s need for hardware resources• Multiplex hardware resources for different computations
  4. 4. Elastic Resources• Cloud Computing • Pay as you go hardware• Focus on providing hardware to the computation that requires it
  5. 5. Time to scale hardwareDays Minutes Fixed Cloud ComputingHardware
  6. 6. Time to scale hardwareDays Minutes Fixed Cloud ComputingHardware Elastic Applications
  7. 7. Time to scale hardwareDays Minutes Milliseconds Fixed Cloud ComputingHardware ? Elastic Applications
  8. 8. Interactive HPC• Medical imaging application • interactive • 1 megapixel image • quadratic memory consumption - ~14TB
  9. 9. Interactive HPC• Fixed Hardware • Purchase a cluster
  10. 10. Interactive HPC• Cloud Computing • Allocate a cluster • Maintain interactivity • 650+ EC2 instances - $8000 dollars / 8 hour day
  11. 11. Can we do better?
  12. 12. Where we’re starting Treat elasticity as a first-class system characteristic
  13. 13. OUTLINE1. THE PROBLEM2. OBSERVATIONS 1. Top-Down Demand 2. Bottom-Up Support 3. Modularity3. OUR TAKE ON A SOLUTION4. PROTOTYPE & CHALLENGES
  14. 14. Top-Down DemandSystem Interface Software Hardware
  15. 15. Top-Down DemandSystem Interface Hardware
  16. 16. Top-Down DemandSystem Interface Hardware
  17. 17. Top-Down DemandSystem Interface Hardware
  18. 18. Top-Down DemandSystem Interface Hardware
  19. 19. Top-Down DemandSystem Interface Hardware
  20. 20. Events as Load• Treat a service request as an event that is dispatched to resources• As events occur, load increases• As events are handled, load decreases• Each layer being event-driven forces demand to flow top-down
  21. 21. Bottom-Up SupportSystem Interface Hardware
  22. 22. Bottom-Up SupportSystem Interface Hardware Allocate/Deallocate Resources
  23. 23. Bottom-Up SupportSystem Interface Hardware
  24. 24. Elastic Interface• Support elasticity by interfacing via allocation and deallocation of physical or logical resources• Each layer is constructed by being explicit with respect to resource consumption• Be explicit with respect to time to meet a request
  25. 25. ModularitySystem Interface Hardware
  26. 26. ModularitySystem Interface Hardware
  27. 27. ModularitySystem Interface Hardware
  28. 28. ModularitySystem Interface Hardware
  29. 29. Object model• Objects can take advantage • the semantics of their request patterns • the lifetime of an instance • the occupancy w.r.t memory, processing and communication• We can optimize for elasticity by taking advantage of modularity in a system
  30. 30. OUTLINE1. THE PROBLEM2. OBSERVATIONS3. OUR TAKE ON A SOLUTION : SESA 1. EBB’s : Elastic Building Blocks 2. SEE: Scalable Elastic Executive - A LibOS 3. EPIC: Events as Interrupts4. PROTOTYPE & CHALLENGES
  31. 31. Architecture Overview Hardware
  32. 32. Architecture Overview FAWN SSD
  33. 33. Architecture Overview Partitioning FAWN SSD
  34. 34. Architecture Overview Kittyhawk FAWN SSD
  35. 35. Architecture Overview System Software Kittyhawk FAWN SSD
  36. 36. Architecture Overview HAL Kittyhawk FAWN SSD
  37. 37. Architecture Overview Applications HAL Kittyhawk FAWN SSD
  38. 38. Architecture Overview ? HAL Kittyhawk FAWN SSD
  39. 39. Architecture Overview ? HAL Kittyhawk FAWN SSD
  40. 40. SESA SE APP/SERVICE EBB Namespace System Software Layers Component Layer SEExecutive SEE SEE SEE LibOS Layer SEMachineSEHAL SEHAL SEHAL Hardware Abstraction LayerVM/ VM/ VM/Node Node Node Partitioning Layer Elastic Partition of Nodes
  41. 41. EBB’s A new Component Model for expressing andEBB NameSpace encapsulating fine grain elasticity. The Next Generation of Clustered Objects.
  42. 42. Clustered Objects (CO) dref(ctr)->inc(); val() dec() de de de de de de de deval val val val val val val val c c c c c c c c C C C C C C C C inc inc inc inc inc inc inc inc inc() Processors Processors c c c c Memory cMemory c c c
  43. 43. What did we learn?• Event-driven architecture for lazy and dynamic instantiation of resources• Mechanism to create scalable software
  44. 44. Elastic Building Blocks• Programming Model for Elastic and Scalable Components• Span multiple nodes• Built in On Demand nature -- encapsulation of policies for both allocation and deallocation of resources
  45. 45. SEE A Distributed Library OS Model designed to enable SEExecutive Elastic Software within theSEE SEE SEE context of legacy environments. Next Generation of Libra
  46. 46. Libra Architecture Controller Application Application Application vironment for both u Partition Partition Partition Partition tition is launched fro hypervisor to create a App This script also launc App tion to access the con App App Gateway The gateway serv which is a compact op App App App General DB systems. Inferno crea Purpose JVM services such as the u the network (see Fig OS Libra Libra Libra pace remotely via the over a shared-memor and application parti Hypervisor tensions to Inferno a Figure 1. Proposed system architecture. transport is available Note that nothing access all resourcesnels, hypervisors run other operating systems with few or no mod- allows resources andifications [27, 5, 42]. By running an operating system (the con- partition and accesse
  47. 47. Libra X86 Linux Front EndsPool of Libra Partitions $ 9p $PowerPC Blades: Libra Workers
  48. 48. Libra X86 Linux Front EndsPool of Libra Partitions $ java -cp my.jar 9p $PowerPC Blades: Libra Workers
  49. 49. Libra X86 Linux Front EndsPool of Libra Partitions $ java -cp my.jar 9p $PowerPC Blades: Libra Workers
  50. 50. Libra X86 Linux Front EndsPool of Libra Partitions $ java -cp my.jar 9p $ for ((i=0;i<44;i++)) do java -cp my.jar & donePowerPC Blades: Libra Workers
  51. 51. Libra X86 Linux Front EndsPool of Libra Partitions $ java -cp my.jar 9p $ for ((i=0;i<44;i++)) do java -cp my.jar & donePowerPC Blades: Libra Workers
  52. 52. Libra X86 Linux Front EndsPool of Libra Partitions $ java -cp my.jar 9p $ for ((i=0;i<44;i++)) do java -cp my.jar & donePowerPC Blades: Libra Workers
  53. 53. What did we learn?• Specialized environment for each application• Lightweight system layer implementing services for performance• General purpose OS for non-performance critical services
  54. 54. SEE : A LibOS for SESA• Distributed LibOS that can elastically span Per-node EBB manifestations nodes Scalable Elastic Executive (SEE)• Instances cooperate to EBB Infrastructure FS Name Space support the allocation Protocol (9p) and deallocation of locality aware inter-node event communication EBB’s memory dispatcher protocols and allocator primitives• Enables compatibility with Front End nodes SEHAL running via unified 9p namespace
  55. 55. SEMachines and EPICs SEMachine Hardware Abstraction Layer :SEHAL SEHAL SEHAL EPIC
  56. 56. ProgrammableInterrupt Controller Source Interrupt 0 1 1 0 Execution
  57. 57. ProgrammableInterrupt Controller Source Interrupt 1 1 1 0 Execution
  58. 58. ProgrammableInterrupt Controller Source Event 1 1 1 0 Action
  59. 59. Elastic ProgrammableInterrupt Controller Source Event 1 0 1 1 1 0 0 0 Action
  60. 60. Elastic Programmable Interrupt Controller Source Event ...1 0 1 1 0 1 1 1 ... Action ...
  61. 61. Elastic Programmable Interrupt Controller• Programmed by the SEE• Provides the minimum requirement of elastic applications - mapping load to resources• Portable layer• Take advantage of network features such as broadcast and multicast
  62. 62. OUTLINE1. THE PROBLEM2. OBSERVATIONS3. OUR TAKE ON A SOLUTION4. PROTOTYPE & CHALLENGES
  63. 63. PROTOTYPE APP SESA SAGE Traditional HWSage* SERVICES Elastic SEE: EBB’s + EHAL OL Matrix Cache Advanced HW Elastic Matrix Kittyhawk Ops
  64. 64. Challenges and Discussion
  65. 65. OUTLINE1. THE PROBLEM 1. Pay as you go computing 2. Insufficient systems support for elasticity2. OBSERVATIONS3. OUR TAKE ON A SOLUTION4. PROTOTYPE & CHALLENGES
  66. 66. Pay as you go hardware SoftwareConsumerProvider
  67. 67. Pay as you go hardware SoftwareConsumer RequestProvider
  68. 68. Pay as you go hardware SoftwareConsumerProvider
  69. 69. Elastic Website Load BalancerConsumerProvider
  70. 70. Elastic Website Load BalancerConsumerProvider
  71. 71. Elastic Website Load BalancerConsumerProvider
  72. 72. Other Elastic Applications• Analytics• Batch computation• Stream processing
  73. 73. What’s the problem?• Allocation/Boot-time• Programmability
  74. 74. Medical Imaging Application• Megapixel image• Quadratic algorithm• (1 mil pixels * 4 bytes/pixel)^2 ~ 14 TB• On Amazon EC2 ~ $8000 per day
  75. 75. SnowflockConsumerProvider
  76. 76. SnowflockConsumerProvider
  77. 77. SnowflockConsumerProvider
  78. 78. Distributing an ObjectNon-Distributed Object Instance Region List Lock L Region List R0 Other R1 Data Structures R2
  79. 79. L R0 Root Rep0L R0 L R1 R1 Rep1 L R2 R0 R2 Rep2
  80. 80. Elastic ProgrammableInterrupt Controller Source Event 1 1 1 0 Action
  1. A particular slide catching your eye?

    Clipping is a handy way to collect important slides you want to go back to later.

×