glass: a share everything architecture for seaside
DESCRIPTION
GLASS: A Share Everything Architecture for Seaside. ESUG 2008, AmsterdamTRANSCRIPT
![Page 1: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/1.jpg)
Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
e
GLASS: A Share Everything Architecture for Seaside
Dale Henrichs8/28/2008
![Page 2: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/2.jpg)
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
![Page 3: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/3.jpg)
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
![Page 4: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/4.jpg)
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
![Page 5: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/5.jpg)
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
![Page 6: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/6.jpg)
6 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Share Nothing Architecture
Drawbacks Scaling limited by available electricity distributed data constrains model
complexity
![Page 7: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/7.jpg)
7 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Share Nothing Architecture
Smalltalk is not Share Nothing
![Page 8: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/8.jpg)
8 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Share Everything
Smalltalk is Share Everything inside the image Share Nothing outside the image
![Page 9: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/9.jpg)
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
![Page 10: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/10.jpg)
10 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Seaside Scalability Options
Persistent Session StateOptional _s and _kOne Session per VM
![Page 11: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/11.jpg)
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
![Page 12: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/12.jpg)
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
![Page 13: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/13.jpg)
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
![Page 14: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/14.jpg)
14 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Scalability – Optional _k _s
Drawbacks application must be changed (RESTful)
![Page 15: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/15.jpg)
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
![Page 16: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/16.jpg)
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
![Page 17: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/17.jpg)
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
![Page 18: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/18.jpg)
18 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Transparent Development
Multi-image development support auto commit object log debugging
• breakpoints
profiling
![Page 19: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/19.jpg)
19 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Demo
![Page 20: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/20.jpg)
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
![Page 21: GLASS: A Share Everything Architecture for Seaside](https://reader034.vdocument.in/reader034/viewer/2022042614/555bdeb3d8b42a38078b486a/html5/thumbnails/21.jpg)
21 Copyright © 2008, GemStone Systems Inc. All Rights Reserved.
Questions?
http://seaside.sthttp://seaside.gemstone.comhttp://gemstonesoup.wordpress.com