SlideShare ist ein Scribd-Unternehmen logo
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

Weitere ähnliche Inhalte

Andere mochten auch (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
 

Ähnlich wie 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
 

Ähnlich wie 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
 

Mehr von 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
 

Mehr von 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
 

Kürzlich hochgeladen

Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
UXDXConf
 

Kürzlich hochgeladen (20)

Optimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through ObservabilityOptimizing NoSQL Performance Through Observability
Optimizing NoSQL Performance Through Observability
 
Intro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджераIntro in Product Management - Коротко про професію продакт менеджера
Intro in Product Management - Коротко про професію продакт менеджера
 
Structuring Teams and Portfolios for Success
Structuring Teams and Portfolios for SuccessStructuring Teams and Portfolios for Success
Structuring Teams and Portfolios for Success
 
AI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří KarpíšekAI revolution and Salesforce, Jiří Karpíšek
AI revolution and Salesforce, Jiří Karpíšek
 
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
Integrating Telephony Systems with Salesforce: Insights and Considerations, B...
 
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptxWSO2CONMay2024OpenSourceConferenceDebrief.pptx
WSO2CONMay2024OpenSourceConferenceDebrief.pptx
 
A Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System StrategyA Business-Centric Approach to Design System Strategy
A Business-Centric Approach to Design System Strategy
 
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdfHow Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
How Red Hat Uses FDO in Device Lifecycle _ Costin and Vitaliy at Red Hat.pdf
 
Connecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAKConnecting the Dots in Product Design at KAYAK
Connecting the Dots in Product Design at KAYAK
 
Buy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptxBuy Epson EcoTank L3210 Colour Printer Online.pptx
Buy Epson EcoTank L3210 Colour Printer Online.pptx
 
ECS 2024 Teams Premium - Pretty Secure
ECS 2024   Teams Premium - Pretty SecureECS 2024   Teams Premium - Pretty Secure
ECS 2024 Teams Premium - Pretty Secure
 
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
FDO for Camera, Sensor and Networking Device – Commercial Solutions from VinC...
 
What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024What's New in Teams Calling, Meetings and Devices April 2024
What's New in Teams Calling, Meetings and Devices April 2024
 
Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024Top 10 Symfony Development Companies 2024
Top 10 Symfony Development Companies 2024
 
PLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. StartupsPLAI - Acceleration Program for Generative A.I. Startups
PLAI - Acceleration Program for Generative A.I. Startups
 
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi IbrahimzadeFree and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
Free and Effective: Making Flows Publicly Accessible, Yumi Ibrahimzade
 
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone KomSalesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
Salesforce Adoption – Metrics, Methods, and Motivation, Antone Kom
 
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdfLinux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
Linux Foundation Edge _ Overview of FDO Software Components _ Randy at Intel.pdf
 
IESVE for Early Stage Design and Planning
IESVE for Early Stage Design and PlanningIESVE for Early Stage Design and Planning
IESVE for Early Stage Design and Planning
 
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya HalderCustom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
Custom Approval Process: A New Perspective, Pavel Hrbacek & Anindya Halder
 

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