SlideShare une entreprise Scribd logo
1  sur  21
Télécharger pour lire hors ligne
Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
e
GLASS: A Share Everything
Architecture for Seaside
Dale Henrichs
8/28/2008
2 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
What is GLASS?
GemStone, Linux, Apache, Seaside,
Smalltalk
 Persistence and scalability for Seaside
applications
 FREE for commercial use
• http://seaside.gemstone.com/downloads.html
3 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
What is GLASS?
GLASS
 self-contained development environment
for GemStone/S
• Monticello for source code control
• OminiBrowser-based development tools
 Easy to move apps from Squeak to GLASS
 FREE for commercial use
4 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
What is GLASS?
Appliance
 VMWare running an instance of GLASS
• 3 Seaside VMs
• 1 Maintenance VM
• 1 (or more) development Vms connected to
Squeak
 FREE for commercial use
5 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Share Nothing Architecture
Scaling Story
 Every time you need data, you hit the data
base
 Distributed computing and distributed data
• add additional resources to meet demand
 Well suited to stateless web servers and
uncomplicated data models
6 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Share Nothing Architecture
Drawbacks
 Scaling limited by available electricity
 distributed data constrains model
complexity
7 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Share Nothing Architecture
Smalltalk is not Share Nothing
8 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Share Everything
Smalltalk is
 Share Everything inside the image
 Share Nothing outside the image
9 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
GemStone/S
GemStone/S is designed for
 very large images
 shared between multiple VMs
 running on multiple computers
GemStone/S is the perfect vehicle for
doing Share Everything with Share
Nothing scalability
10 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Seaside Scalability Options
Persistent Session State
Optional _s and _k
One Session per VM
11 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Scalability – Persistent Session State
Scaling Story
 store/share Seaside session state in
repository
 deploy any number of VMs
 round robin requests without session
affinity
12 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Scalability – Persistent Session State
Drawbacks
 request rate limited by commit rate
• depending upon hardware limit kicks in at about
10-100 commits/second
 scaling requires investment in more
sophisticated hardware
• NOT commodity hardware
13 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Scalability – Optional _k _s
Scaling Story
 Avoid saving 'unnecessary' session state
• reduce commit rate
 Performance Potential
• 7K requests/second
• 128 VMs
• 72 CPUs
• 7 machines
14 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Scalability – Optional _k _s
Drawbacks
 application must be changed (RESTful)
15 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Scalability – One Session per VM
Scaling Story
 session state in temporary memory
 VM dedicated to session for its lifetime
 performance similar to Optional _k _s
16 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Scalability – One Session per VM
Drawbacks
 need more characterization work
 swap/real memory limitiations
• need to characterize tradeoffs
17 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
GLASS
A Seaside application written to run in
Squeak can be ported to GLASS
'without modification'
 Transparent Persistence
 Transparent Scalability
• persistent session state
• one session per vm
18 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Transparent Development
Multi-image development support
 auto commit
 object log
 debugging
• breakpoints
 profiling
19 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Demo
20 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Futures
GemStone 3.0
 non-Tranlogged objects
 Native code generation
 Improved Exception Handling
 Foreign Function Interface
...and Beyond?
 sharding for GemStone/S
21 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Questions?
http://seaside.st
http://seaside.gemstone.com
http://gemstonesoup.wordpress.com

Contenu connexe

En vedette (6)

Glass architecture
Glass architectureGlass architecture
Glass architecture
 
Glass presentation
Glass presentationGlass presentation
Glass presentation
 
Glass manufacture
Glass manufactureGlass manufacture
Glass manufacture
 
Glass
GlassGlass
Glass
 
Different types of glasses
Different types of glassesDifferent types of glasses
Different types of glasses
 
Google glass ppt
Google glass pptGoogle glass ppt
Google glass ppt
 

Similaire à GLASS: A Share Everything Architecture for Seaside

Presentation integration vmware with emc storage
Presentation   integration vmware with emc storagePresentation   integration vmware with emc storage
Presentation integration vmware with emc storage
solarisyourep
 
Efektywna Witualizacja Citrix na macierzach dyskowych NetApp
Efektywna Witualizacja Citrix na macierzach dyskowych NetAppEfektywna Witualizacja Citrix na macierzach dyskowych NetApp
Efektywna Witualizacja Citrix na macierzach dyskowych NetApp
Peter Ocasek
 

Similaire à GLASS: A Share Everything Architecture for Seaside (20)

Glass
GlassGlass
Glass
 
Emc vspex customer_presentation_private_cloud_v_mware_mid_2.0
Emc vspex customer_presentation_private_cloud_v_mware_mid_2.0Emc vspex customer_presentation_private_cloud_v_mware_mid_2.0
Emc vspex customer_presentation_private_cloud_v_mware_mid_2.0
 
INDUSTRY-LEADING TECHNOLOGY FOR LONG TERM RETENTION OF BACKUPS IN THE CLOUD
INDUSTRY-LEADING  TECHNOLOGY FOR LONG TERM RETENTION OF BACKUPS IN THE CLOUDINDUSTRY-LEADING  TECHNOLOGY FOR LONG TERM RETENTION OF BACKUPS IN THE CLOUD
INDUSTRY-LEADING TECHNOLOGY FOR LONG TERM RETENTION OF BACKUPS IN THE CLOUD
 
Presentation integration vmware with emc storage
Presentation   integration vmware with emc storagePresentation   integration vmware with emc storage
Presentation integration vmware with emc storage
 
Gemstone RoadMap
Gemstone RoadMapGemstone RoadMap
Gemstone RoadMap
 
Virtualization on IBM Blade Center
Virtualization on IBM Blade CenterVirtualization on IBM Blade Center
Virtualization on IBM Blade Center
 
Gemstone 64 Product Overview
Gemstone 64 Product OverviewGemstone 64 Product Overview
Gemstone 64 Product Overview
 
Efektywna Witualizacja Citrix na macierzach dyskowych NetApp
Efektywna Witualizacja Citrix na macierzach dyskowych NetAppEfektywna Witualizacja Citrix na macierzach dyskowych NetApp
Efektywna Witualizacja Citrix na macierzach dyskowych NetApp
 
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
Running a High-Performance Kubernetes Cluster with Amazon EKS (CON318-R1) - A...
 
Vx Rack : L'hyperconvergence avec l'experience VCE
Vx Rack : L'hyperconvergence avec l'experience VCEVx Rack : L'hyperconvergence avec l'experience VCE
Vx Rack : L'hyperconvergence avec l'experience VCE
 
Virtualización en la Red del Data Center - Extreme Networks
Virtualización en la Red del Data Center - Extreme NetworksVirtualización en la Red del Data Center - Extreme Networks
Virtualización en la Red del Data Center - Extreme Networks
 
Transforming Mission Critical Applications
Transforming Mission Critical ApplicationsTransforming Mission Critical Applications
Transforming Mission Critical Applications
 
The Java Evolution Mismatch by Gil Tene, CTO at Azul Systems
The Java Evolution Mismatch by Gil Tene, CTO at Azul SystemsThe Java Evolution Mismatch by Gil Tene, CTO at Azul Systems
The Java Evolution Mismatch by Gil Tene, CTO at Azul Systems
 
Presentazione SimpliVity @ VMUGIT UserCon 2015
Presentazione SimpliVity @ VMUGIT UserCon 2015Presentazione SimpliVity @ VMUGIT UserCon 2015
Presentazione SimpliVity @ VMUGIT UserCon 2015
 
Symm.63
Symm.63Symm.63
Symm.63
 
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...
OSSEU18: From Handcraft to Unikraft: Simpler Unikernelization of Your Applica...
 
Presentation symmetrix vmax family with enginuity 5876
Presentation   symmetrix vmax family with enginuity 5876Presentation   symmetrix vmax family with enginuity 5876
Presentation symmetrix vmax family with enginuity 5876
 
Jetty Vs Tomcat
Jetty Vs TomcatJetty Vs Tomcat
Jetty Vs Tomcat
 
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
EMC Symmetrix VMAX: An Introduction to Enterprise Storage: Brian Boyd, Varrow...
 
How to deploy SQL Server on an Microsoft Azure virtual machines
How to deploy SQL Server on an Microsoft Azure virtual machinesHow to deploy SQL Server on an Microsoft Azure virtual machines
How to deploy SQL Server on an Microsoft Azure virtual machines
 

Plus de ESUG

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
ESUG
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
ESUG
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
ESUG
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
ESUG
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
ESUG
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
ESUG
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
ESUG
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
ESUG
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
ESUG
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
ESUG
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
ESUG
 

Plus de ESUG (20)

Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programmingWorkshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
 
Technical documentation support in Pharo
Technical documentation support in PharoTechnical documentation support in Pharo
Technical documentation support in Pharo
 
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and RoadmapThe Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
 
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in PharoSequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
 
Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...Migration process from monolithic to micro frontend architecture in mobile ap...
Migration process from monolithic to micro frontend architecture in mobile ap...
 
Analyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early resultsAnalyzing Dart Language with Pharo: Report and early results
Analyzing Dart Language with Pharo: Report and early results
 
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
Transpiling Pharo Classes to JS ECMAScript 5 versus ECMAScript 6
 
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test GenerationA Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
 
Creating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic ProgrammingCreating Unit Tests Using Genetic Programming
Creating Unit Tests Using Genetic Programming
 
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution ModesThreaded-Execution and CPS Provide Smooth Switching Between Execution Modes
Threaded-Execution and CPS Provide Smooth Switching Between Execution Modes
 
Exploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience ReportExploring GitHub Actions through EGAD: An Experience Report
Exploring GitHub Actions through EGAD: An Experience Report
 
Pharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIsPharo: a reflective language A first systematic analysis of reflective APIs
Pharo: a reflective language A first systematic analysis of reflective APIs
 
Garbage Collector Tuning
Garbage Collector TuningGarbage Collector Tuning
Garbage Collector Tuning
 
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame CaseImproving Performance Through Object Lifetime Profiling: the DataFrame Case
Improving Performance Through Object Lifetime Profiling: the DataFrame Case
 
Pharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and FuturePharo DataFrame: Past, Present, and Future
Pharo DataFrame: Past, Present, and Future
 
thisContext in the Debugger
thisContext in the DebuggerthisContext in the Debugger
thisContext in the Debugger
 
Websockets for Fencing Score
Websockets for Fencing ScoreWebsockets for Fencing Score
Websockets for Fencing Score
 
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScriptShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
 
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design MoocAdvanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
 
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and TransformationsA New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
 

Dernier

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
 

Dernier (20)

Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slideHistor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
 
Strategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a FresherStrategies for Landing an Oracle DBA Job as a Fresher
Strategies for Landing an Oracle DBA Job as a Fresher
 
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
04-2024-HHUG-Sales-and-Marketing-Alignment.pptx
 
What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?What Are The Drone Anti-jamming Systems Technology?
What Are The Drone Anti-jamming Systems Technology?
 
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
 
Tech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdfTech Trends Report 2024 Future Today Institute.pdf
Tech Trends Report 2024 Future Today Institute.pdf
 
How to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected WorkerHow to Troubleshoot Apps for the Modern Connected Worker
How to Troubleshoot Apps for the Modern Connected Worker
 
2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...2024: Domino Containers - The Next Step. News from the Domino Container commu...
2024: Domino Containers - The Next Step. News from the Domino Container commu...
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
Strategies for Unlocking Knowledge Management in Microsoft 365 in the Copilot...
 
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law DevelopmentsTrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
 
HTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation StrategiesHTML Injection Attacks: Impact and Mitigation Strategies
HTML Injection Attacks: Impact and Mitigation Strategies
 
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps ScriptAutomating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
 
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
Bajaj Allianz Life Insurance Company - Insurer Innovation Award 2024
 
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
 
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time AutomationFrom Event to Action: Accelerate Your Decision Making with Real-Time Automation
From Event to Action: Accelerate Your Decision Making with Real-Time Automation
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdfUnderstanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
 
Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...Apidays New York 2024 - The value of a flexible API Management solution for O...
Apidays New York 2024 - The value of a flexible API Management solution for O...
 
The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024The 7 Things I Know About Cyber Security After 25 Years | April 2024
The 7 Things I Know About Cyber Security After 25 Years | April 2024
 

GLASS: A Share Everything Architecture for Seaside

  • 1. Copyright © 2008, GemStone Systems Inc. All Rights Reserved. e GLASS: A Share Everything Architecture for Seaside Dale Henrichs 8/28/2008
  • 2. 2 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. What is GLASS? GemStone, Linux, Apache, Seaside, Smalltalk  Persistence and scalability for Seaside applications  FREE for commercial use • http://seaside.gemstone.com/downloads.html
  • 3. 3 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. What is GLASS? GLASS  self-contained development environment for GemStone/S • Monticello for source code control • OminiBrowser-based development tools  Easy to move apps from Squeak to GLASS  FREE for commercial use
  • 4. 4 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. What is GLASS? Appliance  VMWare running an instance of GLASS • 3 Seaside VMs • 1 Maintenance VM • 1 (or more) development Vms connected to Squeak  FREE for commercial use
  • 5. 5 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Share Nothing Architecture Scaling Story  Every time you need data, you hit the data base  Distributed computing and distributed data • add additional resources to meet demand  Well suited to stateless web servers and uncomplicated data models
  • 6. 6 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Share Nothing Architecture Drawbacks  Scaling limited by available electricity  distributed data constrains model complexity
  • 7. 7 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Share Nothing Architecture Smalltalk is not Share Nothing
  • 8. 8 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Share Everything Smalltalk is  Share Everything inside the image  Share Nothing outside the image
  • 9. 9 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. GemStone/S GemStone/S is designed for  very large images  shared between multiple VMs  running on multiple computers GemStone/S is the perfect vehicle for doing Share Everything with Share Nothing scalability
  • 10. 10 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Seaside Scalability Options Persistent Session State Optional _s and _k One Session per VM
  • 11. 11 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Scalability – Persistent Session State Scaling Story  store/share Seaside session state in repository  deploy any number of VMs  round robin requests without session affinity
  • 12. 12 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Scalability – Persistent Session State Drawbacks  request rate limited by commit rate • depending upon hardware limit kicks in at about 10-100 commits/second  scaling requires investment in more sophisticated hardware • NOT commodity hardware
  • 13. 13 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Scalability – Optional _k _s Scaling Story  Avoid saving 'unnecessary' session state • reduce commit rate  Performance Potential • 7K requests/second • 128 VMs • 72 CPUs • 7 machines
  • 14. 14 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Scalability – Optional _k _s Drawbacks  application must be changed (RESTful)
  • 15. 15 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Scalability – One Session per VM Scaling Story  session state in temporary memory  VM dedicated to session for its lifetime  performance similar to Optional _k _s
  • 16. 16 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Scalability – One Session per VM Drawbacks  need more characterization work  swap/real memory limitiations • need to characterize tradeoffs
  • 17. 17 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. GLASS A Seaside application written to run in Squeak can be ported to GLASS 'without modification'  Transparent Persistence  Transparent Scalability • persistent session state • one session per vm
  • 18. 18 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Transparent Development Multi-image development support  auto commit  object log  debugging • breakpoints  profiling
  • 19. 19 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Demo
  • 20. 20 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Futures GemStone 3.0  non-Tranlogged objects  Native code generation  Improved Exception Handling  Foreign Function Interface ...and Beyond?  sharding for GemStone/S
  • 21. 21 Copyright © 2008, GemStone Systems Inc. All Rights Reserved. Questions? http://seaside.st http://seaside.gemstone.com http://gemstonesoup.wordpress.com