SlideShare ist ein Scribd-Unternehmen logo
1 von 40
Downloaden Sie, um offline zu lesen
GemStone/S 64 Update
Norm Green
Senior VP & CTO
ESUG 2015
Brescia, Italy
July 13, 2015
2
Agenda
• GemTalk addYears: 2
• GemStone/S 64 v 3.3
• GemStone/S 64 v 3.4
• GemBuilder For Smalltalk
• Licensing Options
3
GemTalk addYears: 2
• GemTalk Turned 2 on May 1!
• Year 2 Milestones:
– 6 Product Releases
– New Website
– Financial Goals Achieved
– No Staff Turnover
4
GemStone/S 64
• Latest Release: 3.2.7 (July, 2015)
• Next Major Release: 3.3 (September, 2015)
5
GemStone/S 64 3.3
• Smalltalk Virtual Machine Performance
– Improved native code generation.
– Optimize native code for branch prediction.
– Improved math performance, especially
integer math.
– Average overall improvement:
• 25% faster vs. GS/64 3.2
6
GemStone/S 3.3
• Faster Tranlog Restore
– Optimize object table generation during
restore.
– ~30% speed improvement
– Affects:
• #restoreFromLogs
• Hot Standby Systems
7
GemStone/S 3.3
• Access to UNIX syslog()
– Write messages to the UNIX system log
– New Class:
•GsSysLog
8
GemStone/S 64 3.3
• SmallFraction
– New immediate (special) class.
• Value encoded in the object.
• Guaranteed canonical.
– Numerator Range:
• -268435456 to 268435455
– Denominator Range:
• 1 to 134217727
9
GemStone/S 64 3.3
• GsFile Improvements
– Native UTF-8 Support
– Methods Now Implemented as Primitives:
•next
•nextPut:
•_peek:
•_seekTo: opcode:
•isCompressed
•position
10
GemStone/S 64 3.3
• Support LZ4 Data Compression
– “LZ4 is lossless compression algorithm, providing
compression speed at 400 MB/s per core (0.16
Bytes/cycle). It also features an extremely fast
decoder, with speed in multiple GB/s per core (0.71
Bytes/cycle).” -http://cyan4973.github.io/lz4/
– Up to 10X faster than zlib (aka gzip).
– Compression ratio slightly worse than zlib.
11
GemStone/S 64 3.3
• 3.3 LZ4 Support:
– Remote Gem to Page Server
– Remote GCI (ST Image) to Gem
– Stone to Remote Shared Page Cache(s)
– Stone to hot standby server(s).
12
GemStone/S 64 3.3
• Remote Gem to Page Server Encryption
– Remote Gem to Page Server connection may now
use SSL/TLS.
– Enabled with new GEM_PGSVR_USE_SSL option.
– Remote client to Gem connection already uses
SSL/TLS.
13
GemStone/S 64 3.3
• Aggressive Commit Record Disposal
– New configuration parameter
• STN_SIGNAL_ABORT_AGGRESSIVE
– Number of additional sessions told to abort when
the CR backlog exceeds the threshold.
– Default: 0
– Maximum: 500
14
GemStone/S 64 3.3
• Start statmonitor automatically
• Supports various wildcard args from strftime(3)
• New Configuration parameters:
– STN_STATMONITOR_ARGS
• At stone startup
– GEM_STATMONITOR_ARGS
• At remote cache startup
– STN_STATMONITOR_MID_CACHE_ARGS
• At mid-level cache startup
15
GemStone/S 64 3.3
• Make pageaudit Command Multi-threaded
– Used to audit the repository for page-level
consistency.
– Up to 20 X faster than 3.2
16
GemStone/S 64 3.3
• Object Canonicalization Framework
– A framework of classes that may be used to
canonicalize instances of domain classes.
• AbstractReferencingObjectPolicy
• ReferencingObjectPolicy
• CanonicalObjectManager
• CanonicalObjectPolicy
• CanonicalObjectRegistry
• Developed by a GemTalk – Customer
partnership.
17
GemStone/S 64 3.3
• LDAP Authentication Improvements
– Support for resolving DN with authenticated LDAP
binds.
– Previously, a DN could only be resolved with an
anonymous bind.
– Some organizations disable all anonymous binds.
18
GemStone/S 64 3.3
• Page Server Changes
– Previously (before 3.3)
• 1 process (page server) is started for 1 remote gem.
• 3000 sessions == 3000 page servers!
• Page Table Memory Problems (especially Linux)
– Now (3.3 and later)
• 1 page server process is started for *all* gems on a remote
host.
• 1 thread is started for 1 remote gem.
• Each remote gem uses 1 native thread in the page server.
3.2 Architecture
19
Gem1
Gem2
Gem3
Gem1
Page Server 1
Page Server 2
Page Server 3
Remote Gem Host Stone Host
Stone
3.3 Architecture
20
Gem1
Gem2
Gem3
Gem1
Remote Gem Host Stone Host
Stone
Thread 1
Thread 2
Thread 3
Page Server 1
21
GemStone/S 64 3.3
• Cache Warming With Mid Caches
– Leaf Caches may now use mid caches during cache
warming.
– Advantageous for highly distributed, cloud based
architectures.
GemStone Cloud Architecture
22
Storage
Remote Data Center (Cloud) Main Data Center
StoneMain CacheMid-Level Cache
Leaf Cache 1 Leaf Cache 2
Leaf Cache 3
Slow WAN
Gem
Gem
Gem
SSL / TLS
23
GemStone/S 64 3.3
• Clear the Shared Page Cache
– Removes all pages that are not locked from the
local shared page cache.
– Private method: use as your own risk.
– Requires #SystemControl privilege.
– System _checkCacheAndClear: true
24
GemStone/S 64 3.3
• GC Configuration Access via Smalltalk
Methods
– Run-time Access to garbage collection gems
– Update methods require #GarbageCollection
privilege.
– Class methods on System
• getReclaimConfig: aSymbol
• setReclaimConfig: aSymbol toValue: aValue
• getAdminConfig: aSymbol
• setAdminConfig: aSymbol toValue: aValue
25
GemBuilder for……..Android?!?
• Experimental Project to Access GemStone from
Android Devices
• Uses GemBuilder for Java (GBJ)
(OpenSSL)
26
GbjTest App on Android
Login
Screen
27
GbjTest App on Android
Command
Execution
28
Android Test App Source Code
• Application Code:
– ftp://ftp.gemtalksystems.com/pub/GBJ/GbjTest.zip
• Contact:
– bill.erickson@gemtalksystems.com
29
GemStone/S 64 3.3
• VSD 5.0 Improvements
– Update TCL/TK to 8.6
– Replace obsolete BLT
package
– Set a master background
color for all windows
– Right-click to copy Y Value
of a point to the clipboard.
30
GemStone/S 64 3.3
• Copy Y Value Example
31
GemStone/S 64 v3.3 Platforms
• Object Server (Database)
– Linux x86_64
– Apple Darwin 64 bit
– Oracle Solaris 64 bit
– Oracle Solaris SPARC 64 bit
– IBM AIX 64 bit
• Cincom® VisualWorks® 7.9.1 / 7.10.1 Clients
– MS Windows 7/8 32 bit
– MS Windows 7/8 64 bit
– Linux 32/64 bit
– Solaris SPARC 32/64 bit
• Instantiations VA Smalltalk™ 8.6 / 8.5.2 Clients
– MS Windows 7/8 32 bit
32
GemStone/S 64 3.4
• More lz4 Support:
– Statmonitor
– VSD
– Copydbf
– GsFile
– Backup/Restore
33
GemStone/S 64 3.4
• Multi-threaded Mid Cache Page Server
• Improve commit performance
– Reduce memcpy() calls
• <Your Suggestions Here>
34
GemStone/S 64
• Common Feature Request:
– “Add more login/authentication options.”
• But which ones?
Today We Support:
– GemStone User ID / password
– LDAP
– UNIX password / PAM
35
GemStone/64 3.4
• Options:
– GSSAPI with Kerberos
– SSL Certificate
– RADIUS (Remote Authentication Dial In
User Service)
– SSPI (Security Support Provider Interface)
• Please tell us which would be most
useful.
36
GemBuilder for Smalltalk (GBS)
• GBS 8 for Cincom® VisualWorks®
– VisualWorks® 7.9 and 7.10 Support
– Support for GS/64 3.3
– Improved replication performance
– Bug Fixes
– Beta now available upon request.
– GA: August 2015
• GBS 9 for Cincom® VisualWorks®
– VisualWorks® 8.x Support
– GA: December 2015
37
GemBuilder for Smalltalk (GBS)
• GBS 5.4.3 for VA Smalltalk™
– Support for GS/64 3.3
– Support for VA Smalltalk™ 8.6.1
– GA: September, 2015
• GBS 10
– Integrated code base.
– Support both Cincom® VisualWorks® and VA Smalltalk™
– 2017
38
GemStone/S Licensing Models
• Perpetual
– Buy once, own it forever
• Annual Subscription
– Pay annually, cancel any time.
• Value Added Reseller (VAR)
– Percentage of royalties
39
GemStone Community Edition
Starter Limited Full Extended SPC Extended CPU Extended Full
License Kind Perpetual Subscription Subscription Subscription Subscription Subscription
Cores 2 2 2 2 4 4
SPC 1 G 2 G 2G 4G 2G 4G
Gems 10 20 Unlimited Unlimited Unlimited Unlimited
Disk 10G 50G Unlimited Unlimited Unlimited Unlimited
Development DB Unlimited Unlimited Unlimited Unlimited Unlimited Unlimited
Production DB 1 2 Unlimited Unlimited Unlimited Unlimited
Tech Support Community Community 5 tickets 10 tickets 10 tickets 20 tickets
Price Free Free $1500/yr $3000/yr $3000/yr $6000/yr
Distribution With Product Email addr Sales Sales Sales Sales
• Formerly GemStone Web Edition
• As of April 30, 2014
Source: http://gemtalksystems.com/index.php/lc-licensing/
Questions?
40
GemTalk Systems LLC
15220 NW Greenbrier Pkwy., Suite 240
Beaverton, Oregon, 97006
Mobile: (503) 804-2041
norm.green@gemtalksystems.com
Norman R. Green
Senior VP & Chief Technical Officer
www.gemtalksystems.com
®

Weitere ähnliche Inhalte

Was ist angesagt?

Performance Tuning a Cloud Application: A Real World Case Study
Performance Tuning a Cloud Application: A Real World Case StudyPerformance Tuning a Cloud Application: A Real World Case Study
Performance Tuning a Cloud Application: A Real World Case Study
shane_gibson
 
Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Nginx - Tips and Tricks.
Nginx - Tips and Tricks.
Harish S
 
ProxySQL Tutorial - PLAM 2016
ProxySQL Tutorial - PLAM 2016ProxySQL Tutorial - PLAM 2016
ProxySQL Tutorial - PLAM 2016
Derek Downey
 
PGEncryption_Tutorial
PGEncryption_TutorialPGEncryption_Tutorial
PGEncryption_Tutorial
Vibhor Kumar
 

Was ist angesagt? (20)

Performance Tuning a Cloud Application: A Real World Case Study
Performance Tuning a Cloud Application: A Real World Case StudyPerformance Tuning a Cloud Application: A Real World Case Study
Performance Tuning a Cloud Application: A Real World Case Study
 
ITB2017 - Nginx Effective High Availability Content Caching
ITB2017 - Nginx Effective High Availability Content CachingITB2017 - Nginx Effective High Availability Content Caching
ITB2017 - Nginx Effective High Availability Content Caching
 
Using NGINX as an Effective and Highly Available Content Cache
Using NGINX as an Effective and Highly Available Content CacheUsing NGINX as an Effective and Highly Available Content Cache
Using NGINX as an Effective and Highly Available Content Cache
 
Content Caching with NGINX and NGINX Plus
Content Caching with NGINX and NGINX PlusContent Caching with NGINX and NGINX Plus
Content Caching with NGINX and NGINX Plus
 
What's New in NGINX Plus R12?
What's New in NGINX Plus R12? What's New in NGINX Plus R12?
What's New in NGINX Plus R12?
 
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
MySQL Load Balancers - Maxscale, ProxySQL, HAProxy, MySQL Router & nginx - A ...
 
How to understand Galera Cluster - 2013
How to understand Galera Cluster - 2013How to understand Galera Cluster - 2013
How to understand Galera Cluster - 2013
 
Nginx - Tips and Tricks.
Nginx - Tips and Tricks.Nginx - Tips and Tricks.
Nginx - Tips and Tricks.
 
High Availability Content Caching with NGINX
High Availability Content Caching with NGINXHigh Availability Content Caching with NGINX
High Availability Content Caching with NGINX
 
5 things you didn't know nginx could do velocity
5 things you didn't know nginx could do   velocity5 things you didn't know nginx could do   velocity
5 things you didn't know nginx could do velocity
 
How to Fail at Kafka
How to Fail at KafkaHow to Fail at Kafka
How to Fail at Kafka
 
ProxySQL Tutorial - PLAM 2016
ProxySQL Tutorial - PLAM 2016ProxySQL Tutorial - PLAM 2016
ProxySQL Tutorial - PLAM 2016
 
OpenMQ Aquarium Paris
OpenMQ Aquarium ParisOpenMQ Aquarium Paris
OpenMQ Aquarium Paris
 
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교  및 구축 방법
[오픈소스컨설팅] 쿠버네티스와 쿠버네티스 on 오픈스택 비교 및 구축 방법
 
5 things you didn't know nginx could do
5 things you didn't know nginx could do5 things you didn't know nginx could do
5 things you didn't know nginx could do
 
Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!Extending functionality in nginx, with modules!
Extending functionality in nginx, with modules!
 
Containers @ Google
Containers @ GoogleContainers @ Google
Containers @ Google
 
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep diveKubeCon Prometheus Salon -- Kubernetes metrics deep dive
KubeCon Prometheus Salon -- Kubernetes metrics deep dive
 
Lcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINXLcu14 Lightning Talk- NGINX
Lcu14 Lightning Talk- NGINX
 
PGEncryption_Tutorial
PGEncryption_TutorialPGEncryption_Tutorial
PGEncryption_Tutorial
 

Ähnlich wie GemStone/64 Update

Ähnlich wie GemStone/64 Update (20)

GemStone/64 product update and road map
GemStone/64 product update and road mapGemStone/64 product update and road map
GemStone/64 product update and road map
 
Gemtalk Systems Product Roadmap
Gemtalk Systems Product RoadmapGemtalk Systems Product Roadmap
Gemtalk Systems Product Roadmap
 
GemStone Update
GemStone Update GemStone Update
GemStone Update
 
Gemstone RoadMap
Gemstone RoadMapGemstone RoadMap
Gemstone RoadMap
 
GemStone/S 64 Update
 GemStone/S 64 Update GemStone/S 64 Update
GemStone/S 64 Update
 
Gemtalk Product Roadmap
Gemtalk Product RoadmapGemtalk Product Roadmap
Gemtalk Product Roadmap
 
GemStone Update 2023
GemStone Update 2023GemStone Update 2023
GemStone Update 2023
 
GemStone/S 64bit
GemStone/S 64bitGemStone/S 64bit
GemStone/S 64bit
 
GemStone/S Update
GemStone/S UpdateGemStone/S Update
GemStone/S Update
 
this-is-garbage-talk-2022.pptx
this-is-garbage-talk-2022.pptxthis-is-garbage-talk-2022.pptx
this-is-garbage-talk-2022.pptx
 
Securing Hadoop @eBay
Securing Hadoop @eBaySecuring Hadoop @eBay
Securing Hadoop @eBay
 
Tacc Infinite Memory Engine
Tacc Infinite Memory EngineTacc Infinite Memory Engine
Tacc Infinite Memory Engine
 
Benchmarking Solr Performance at Scale
Benchmarking Solr Performance at ScaleBenchmarking Solr Performance at Scale
Benchmarking Solr Performance at Scale
 
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
Taming GC Pauses for Humongous Java Heaps in Spark Graph Computing-(Eric Kacz...
 
Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014Cloud Platform Symantec Meetup Nov 2014
Cloud Platform Symantec Meetup Nov 2014
 
millions-gc-jax-2022.pptx
millions-gc-jax-2022.pptxmillions-gc-jax-2022.pptx
millions-gc-jax-2022.pptx
 
Galera Cluster 4 for MySQL 8 Release Webinar slides
Galera Cluster 4 for MySQL 8 Release Webinar slidesGalera Cluster 4 for MySQL 8 Release Webinar slides
Galera Cluster 4 for MySQL 8 Release Webinar slides
 
AppFabric Velocity
AppFabric VelocityAppFabric Velocity
AppFabric Velocity
 
Successful Software Development with Apache Cassandra
Successful Software Development with Apache CassandraSuccessful Software Development with Apache Cassandra
Successful Software Development with Apache Cassandra
 
Cassandra Summit 2014: Successful Software Development with Apache Cassandra
Cassandra Summit 2014: Successful Software Development with Apache CassandraCassandra Summit 2014: Successful Software Development with Apache Cassandra
Cassandra Summit 2014: Successful Software Development with Apache Cassandra
 

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

CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
giselly40
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
Joaquim Jorge
 

Kürzlich hochgeladen (20)

Evaluating the top large language models.pdf
Evaluating the top large language models.pdfEvaluating the top large language models.pdf
Evaluating the top large language models.pdf
 
[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf[2024]Digital Global Overview Report 2024 Meltwater.pdf
[2024]Digital Global Overview Report 2024 Meltwater.pdf
 
Handwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed textsHandwritten Text Recognition for manuscripts and early printed texts
Handwritten Text Recognition for manuscripts and early printed texts
 
presentation ICT roal in 21st century education
presentation ICT roal in 21st century educationpresentation ICT roal in 21st century education
presentation ICT roal in 21st century education
 
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt RobisonData Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
 
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...
 
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
 
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
 
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...Workshop - Best of Both Worlds_ Combine  KG and Vector search for  enhanced R...
Workshop - Best of Both Worlds_ Combine KG and Vector search for enhanced R...
 
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
Mastering MySQL Database Architecture: Deep Dive into MySQL Shell and MySQL R...
 
Boost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdfBoost Fertility New Invention Ups Success Rates.pdf
Boost Fertility New Invention Ups Success Rates.pdf
 
Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024Partners Life - Insurer Innovation Award 2024
Partners Life - Insurer Innovation Award 2024
 
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
 
CNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of ServiceCNv6 Instructor Chapter 6 Quality of Service
CNv6 Instructor Chapter 6 Quality of Service
 
Boost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivityBoost PC performance: How more available memory can improve productivity
Boost PC performance: How more available memory can improve productivity
 
Exploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone ProcessorsExploring the Future Potential of AI-Enabled Smartphone Processors
Exploring the Future Potential of AI-Enabled Smartphone Processors
 
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?
 
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
 
08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men08448380779 Call Girls In Civil Lines Women Seeking Men
08448380779 Call Girls In Civil Lines Women Seeking Men
 
Artificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and MythsArtificial Intelligence: Facts and Myths
Artificial Intelligence: Facts and Myths
 

GemStone/64 Update

  • 1. GemStone/S 64 Update Norm Green Senior VP & CTO ESUG 2015 Brescia, Italy July 13, 2015
  • 2. 2 Agenda • GemTalk addYears: 2 • GemStone/S 64 v 3.3 • GemStone/S 64 v 3.4 • GemBuilder For Smalltalk • Licensing Options
  • 3. 3 GemTalk addYears: 2 • GemTalk Turned 2 on May 1! • Year 2 Milestones: – 6 Product Releases – New Website – Financial Goals Achieved – No Staff Turnover
  • 4. 4 GemStone/S 64 • Latest Release: 3.2.7 (July, 2015) • Next Major Release: 3.3 (September, 2015)
  • 5. 5 GemStone/S 64 3.3 • Smalltalk Virtual Machine Performance – Improved native code generation. – Optimize native code for branch prediction. – Improved math performance, especially integer math. – Average overall improvement: • 25% faster vs. GS/64 3.2
  • 6. 6 GemStone/S 3.3 • Faster Tranlog Restore – Optimize object table generation during restore. – ~30% speed improvement – Affects: • #restoreFromLogs • Hot Standby Systems
  • 7. 7 GemStone/S 3.3 • Access to UNIX syslog() – Write messages to the UNIX system log – New Class: •GsSysLog
  • 8. 8 GemStone/S 64 3.3 • SmallFraction – New immediate (special) class. • Value encoded in the object. • Guaranteed canonical. – Numerator Range: • -268435456 to 268435455 – Denominator Range: • 1 to 134217727
  • 9. 9 GemStone/S 64 3.3 • GsFile Improvements – Native UTF-8 Support – Methods Now Implemented as Primitives: •next •nextPut: •_peek: •_seekTo: opcode: •isCompressed •position
  • 10. 10 GemStone/S 64 3.3 • Support LZ4 Data Compression – “LZ4 is lossless compression algorithm, providing compression speed at 400 MB/s per core (0.16 Bytes/cycle). It also features an extremely fast decoder, with speed in multiple GB/s per core (0.71 Bytes/cycle).” -http://cyan4973.github.io/lz4/ – Up to 10X faster than zlib (aka gzip). – Compression ratio slightly worse than zlib.
  • 11. 11 GemStone/S 64 3.3 • 3.3 LZ4 Support: – Remote Gem to Page Server – Remote GCI (ST Image) to Gem – Stone to Remote Shared Page Cache(s) – Stone to hot standby server(s).
  • 12. 12 GemStone/S 64 3.3 • Remote Gem to Page Server Encryption – Remote Gem to Page Server connection may now use SSL/TLS. – Enabled with new GEM_PGSVR_USE_SSL option. – Remote client to Gem connection already uses SSL/TLS.
  • 13. 13 GemStone/S 64 3.3 • Aggressive Commit Record Disposal – New configuration parameter • STN_SIGNAL_ABORT_AGGRESSIVE – Number of additional sessions told to abort when the CR backlog exceeds the threshold. – Default: 0 – Maximum: 500
  • 14. 14 GemStone/S 64 3.3 • Start statmonitor automatically • Supports various wildcard args from strftime(3) • New Configuration parameters: – STN_STATMONITOR_ARGS • At stone startup – GEM_STATMONITOR_ARGS • At remote cache startup – STN_STATMONITOR_MID_CACHE_ARGS • At mid-level cache startup
  • 15. 15 GemStone/S 64 3.3 • Make pageaudit Command Multi-threaded – Used to audit the repository for page-level consistency. – Up to 20 X faster than 3.2
  • 16. 16 GemStone/S 64 3.3 • Object Canonicalization Framework – A framework of classes that may be used to canonicalize instances of domain classes. • AbstractReferencingObjectPolicy • ReferencingObjectPolicy • CanonicalObjectManager • CanonicalObjectPolicy • CanonicalObjectRegistry • Developed by a GemTalk – Customer partnership.
  • 17. 17 GemStone/S 64 3.3 • LDAP Authentication Improvements – Support for resolving DN with authenticated LDAP binds. – Previously, a DN could only be resolved with an anonymous bind. – Some organizations disable all anonymous binds.
  • 18. 18 GemStone/S 64 3.3 • Page Server Changes – Previously (before 3.3) • 1 process (page server) is started for 1 remote gem. • 3000 sessions == 3000 page servers! • Page Table Memory Problems (especially Linux) – Now (3.3 and later) • 1 page server process is started for *all* gems on a remote host. • 1 thread is started for 1 remote gem. • Each remote gem uses 1 native thread in the page server.
  • 19. 3.2 Architecture 19 Gem1 Gem2 Gem3 Gem1 Page Server 1 Page Server 2 Page Server 3 Remote Gem Host Stone Host Stone
  • 20. 3.3 Architecture 20 Gem1 Gem2 Gem3 Gem1 Remote Gem Host Stone Host Stone Thread 1 Thread 2 Thread 3 Page Server 1
  • 21. 21 GemStone/S 64 3.3 • Cache Warming With Mid Caches – Leaf Caches may now use mid caches during cache warming. – Advantageous for highly distributed, cloud based architectures.
  • 22. GemStone Cloud Architecture 22 Storage Remote Data Center (Cloud) Main Data Center StoneMain CacheMid-Level Cache Leaf Cache 1 Leaf Cache 2 Leaf Cache 3 Slow WAN Gem Gem Gem SSL / TLS
  • 23. 23 GemStone/S 64 3.3 • Clear the Shared Page Cache – Removes all pages that are not locked from the local shared page cache. – Private method: use as your own risk. – Requires #SystemControl privilege. – System _checkCacheAndClear: true
  • 24. 24 GemStone/S 64 3.3 • GC Configuration Access via Smalltalk Methods – Run-time Access to garbage collection gems – Update methods require #GarbageCollection privilege. – Class methods on System • getReclaimConfig: aSymbol • setReclaimConfig: aSymbol toValue: aValue • getAdminConfig: aSymbol • setAdminConfig: aSymbol toValue: aValue
  • 25. 25 GemBuilder for……..Android?!? • Experimental Project to Access GemStone from Android Devices • Uses GemBuilder for Java (GBJ) (OpenSSL)
  • 26. 26 GbjTest App on Android Login Screen
  • 27. 27 GbjTest App on Android Command Execution
  • 28. 28 Android Test App Source Code • Application Code: – ftp://ftp.gemtalksystems.com/pub/GBJ/GbjTest.zip • Contact: – bill.erickson@gemtalksystems.com
  • 29. 29 GemStone/S 64 3.3 • VSD 5.0 Improvements – Update TCL/TK to 8.6 – Replace obsolete BLT package – Set a master background color for all windows – Right-click to copy Y Value of a point to the clipboard.
  • 30. 30 GemStone/S 64 3.3 • Copy Y Value Example
  • 31. 31 GemStone/S 64 v3.3 Platforms • Object Server (Database) – Linux x86_64 – Apple Darwin 64 bit – Oracle Solaris 64 bit – Oracle Solaris SPARC 64 bit – IBM AIX 64 bit • Cincom® VisualWorks® 7.9.1 / 7.10.1 Clients – MS Windows 7/8 32 bit – MS Windows 7/8 64 bit – Linux 32/64 bit – Solaris SPARC 32/64 bit • Instantiations VA Smalltalk™ 8.6 / 8.5.2 Clients – MS Windows 7/8 32 bit
  • 32. 32 GemStone/S 64 3.4 • More lz4 Support: – Statmonitor – VSD – Copydbf – GsFile – Backup/Restore
  • 33. 33 GemStone/S 64 3.4 • Multi-threaded Mid Cache Page Server • Improve commit performance – Reduce memcpy() calls • <Your Suggestions Here>
  • 34. 34 GemStone/S 64 • Common Feature Request: – “Add more login/authentication options.” • But which ones? Today We Support: – GemStone User ID / password – LDAP – UNIX password / PAM
  • 35. 35 GemStone/64 3.4 • Options: – GSSAPI with Kerberos – SSL Certificate – RADIUS (Remote Authentication Dial In User Service) – SSPI (Security Support Provider Interface) • Please tell us which would be most useful.
  • 36. 36 GemBuilder for Smalltalk (GBS) • GBS 8 for Cincom® VisualWorks® – VisualWorks® 7.9 and 7.10 Support – Support for GS/64 3.3 – Improved replication performance – Bug Fixes – Beta now available upon request. – GA: August 2015 • GBS 9 for Cincom® VisualWorks® – VisualWorks® 8.x Support – GA: December 2015
  • 37. 37 GemBuilder for Smalltalk (GBS) • GBS 5.4.3 for VA Smalltalk™ – Support for GS/64 3.3 – Support for VA Smalltalk™ 8.6.1 – GA: September, 2015 • GBS 10 – Integrated code base. – Support both Cincom® VisualWorks® and VA Smalltalk™ – 2017
  • 38. 38 GemStone/S Licensing Models • Perpetual – Buy once, own it forever • Annual Subscription – Pay annually, cancel any time. • Value Added Reseller (VAR) – Percentage of royalties
  • 39. 39 GemStone Community Edition Starter Limited Full Extended SPC Extended CPU Extended Full License Kind Perpetual Subscription Subscription Subscription Subscription Subscription Cores 2 2 2 2 4 4 SPC 1 G 2 G 2G 4G 2G 4G Gems 10 20 Unlimited Unlimited Unlimited Unlimited Disk 10G 50G Unlimited Unlimited Unlimited Unlimited Development DB Unlimited Unlimited Unlimited Unlimited Unlimited Unlimited Production DB 1 2 Unlimited Unlimited Unlimited Unlimited Tech Support Community Community 5 tickets 10 tickets 10 tickets 20 tickets Price Free Free $1500/yr $3000/yr $3000/yr $6000/yr Distribution With Product Email addr Sales Sales Sales Sales • Formerly GemStone Web Edition • As of April 30, 2014 Source: http://gemtalksystems.com/index.php/lc-licensing/
  • 40. Questions? 40 GemTalk Systems LLC 15220 NW Greenbrier Pkwy., Suite 240 Beaverton, Oregon, 97006 Mobile: (503) 804-2041 norm.green@gemtalksystems.com Norman R. Green Senior VP & Chief Technical Officer www.gemtalksystems.com ®