january 29, 2003 2003 tsunami research, inc. presented to cooug february 11, 2003 hive computing a...
DESCRIPTION
Definition HIVE COMPUTING A revolutionary approach to the development, deployment, and management of applications that involves enabling large numbers of dedicated, commodity computers to join together and form a mission critical computing environment called a HiveTRANSCRIPT
![Page 1: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/1.jpg)
January 29, 20032003 Tsunami Research, Inc.
Presented to COOUG
February 11, 2003
Hive ComputingA New Vision for
Mission Critical Applications
![Page 2: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/2.jpg)
Agenda
• Definition• Executive Summary• Our History• The Problem• The Five Pillars• Benefits• Demo• The Technology• eXtreme Programming
![Page 3: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/3.jpg)
Definition
HIVE COMPUTING
A revolutionary approach to thedevelopment, deployment, and management
of applicationsthat involves enabling
large numbers of dedicated, commodity computersto join together and form
a mission critical computing environmentcalled a Hive
![Page 4: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/4.jpg)
Executive Summary
The goal of Hive Computing isto make reliability affordable
![Page 5: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/5.jpg)
In Essence
CommodityComputers
High PerformanceLow Price
![Page 6: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/6.jpg)
In Essence
CommodityComputers
High PerformanceLow Price
Super-computing
Performance- Scalability
BeowulfUnlimited Scale
QlustersPlatform Computing
United DevicesEntropia
Data Synapse
Linux ClustersDistributed Supercomputers
![Page 7: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/7.jpg)
In Essence
MissionCritical
Computing
Tsunami Research
Hive Computing
Affordability- Adaptability- Maintainability- Usability
Reliability- Scalability- Availability- Predictability
+
CommodityComputers
High PerformanceLow Price
Super-computing
Performance- Scalability
BeowulfUnlimited Scale
QlustersPlatform Computing
United DevicesEntropia
Data Synapse
Linux ClustersDistributed Supercomputers
![Page 8: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/8.jpg)
• Significant transaction processing experience• Core team previously founded PaylinX Corporation• Leading real-time enterprise payment processing solution• PaylinX sold to CyberSource in 2000 for $130+ million• Unfinished business…
– Scalability– Reliability– Complexity– Cost
Our History
![Page 9: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/9.jpg)
The Problem
MainframesFault
TolerantComputers
ApplicationServers
LinuxClusters
DistributedSupercomputers Hive
Reliability
Scalability
Availability
Predictability
Affordability
Adaptability
Maintainability
Usability HP/Tandem
StratusBEAIBM
BeowulfQlusters
Unlimited Scale
United DevicesData Synapse
Entropia
Existing solutions force organizations to make trade-offs
IBMUnisysFujitsu
![Page 10: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/10.jpg)
Why Can’t Solutions…
• Scale without limits?• Be immune to failure?• Guarantee the job will get done?• Keep up with a changing world?• Maintain themselves?• Be easy to use and develop for?
![Page 11: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/11.jpg)
Old Problems Result From Old Assumptions
• TCP/IP• Not a better centralized or decentralized network• The core assumption…
– Networks are unreliable
• Design implications– The network could not have any centralized authority– Messages would be divided up into equally-sized, independently-routed packets– The system should be easy to expand by adding additional, inexpensive resources
![Page 12: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/12.jpg)
New Assumptions Create New Possibilities
• The application is the only thing that matters• Self-organizing• Hardware and operating system layers relatively unimportant
• Computers will fail• Self-healing• Failure happens, deal with it
• Computers are disposable• Self-maintaining• Inexpensive• Make it very easy to add and remove hardware• Dedicate hardware to simplify solution & improve results
![Page 13: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/13.jpg)
Application Fabric
Application
Operating SystemCommodity
Hardware
Allows you to leverage commodity hardwareand inexpensive operating systems
(e.g. Windows 2000 and XP, FreeBSD, Linux)
Hive
![Page 14: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/14.jpg)
Hive Computing
Application
Hive
CommodityComputer
CommodityComputer
CommodityComputer
CommodityComputer
CommodityComputer
CommodityComputer
Delivers scalability and reliability without the cost
![Page 15: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/15.jpg)
The Five Pillars of Hive Computing• Collective Intelligence
- The intelligence of a Hive resides in every member- Peer-to-peer- Bottom-up, not top-down- Role-based
• Commodity Components– PC-grade computers and blade servers
• Assimilation– The Hive automatically brings new Workers on line
• Self-Monitoring– The Hive monitors and recovers all Tasks
• Self-Maintaining– The Hive maintains own configuration
![Page 16: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/16.jpg)
Benefits
• Reliability :: A Hive has no reason to ever go down– Scalability
• A Hive can scale in small increments and in a near-linear manner– Availability
• No single point of failure– Predictability
• The job gets done in a specified period of time
• Affordability :: Low acquisition, maintenance, & development costs– Adaptability
• A Hive can easily adapt to changing conditions– Maintainability
• Dramatically reduced administration and maintenance costs– Usability
• Developers can focus on the application
![Page 17: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/17.jpg)
Hive Architecture
Logical, not Physical
![Page 18: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/18.jpg)
Sample ArchitectureClient Client Client ClientClient Client Client Client Client
Presentation Layer
Business Logic Layer
Hive
Application Server
Access ControlAuthenticationPage Rendering
DatabaseHigh Value OperationsHigh Volume Operations
![Page 19: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/19.jpg)
Sample Architecture
Hive
HiveSystem
System
Client
Client
Client
Enterprise ApplicationsWeb Services
![Page 20: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/20.jpg)
Sample Architecture
Hive Hive
ResourcePool
Client
Grid
ResourcePool
![Page 21: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/21.jpg)
Demo
• Collective Intelligence• Load balancing and fail-over• Fault tolerance• Scalability
![Page 22: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/22.jpg)
Request/Response Loop
Client
Hive Mind
requestresponse
task taskresult
taskresult
task
WorkerMachine A
WorkerMachine B
WorkerMachine C
WorkerMachine
WorkerMachine
![Page 23: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/23.jpg)
Security
• SSL encryption between Workers and the Hive• Authentication required to access Operations, Process Flows, and
Tasks• Additional layers of security planned or in the works
![Page 24: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/24.jpg)
Terminology
• Hive• Worker• Package• Application• Operation• Process Flow• Task
Hive Worker Worker Worker Package Application Operation Operation Application Operation Operation Operation Process Flow Task
![Page 25: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/25.jpg)
Operation• A brokerage firm might perform the following Operations in a Hive...
– GetRealtimeQuoteForCUSIP – GetDelayedQuoteForCUSIP – GetChartForCUSIP – CalculateCurrentPortfolioValue
• A credit card company might perform the following Operations in a Hive...– PerformAuthorization – PerformFraudCheck – CaptureTransaction
• A mortgage company might perform the following Operations in a Hive...– GetScoreForApplication – CalculateMonthlyPayment – CalculateEscrow
• A security application might perform the following Operations in a Hive...– AnalyzeFingerprint – AnalyzeFace– AuthenticateUser
![Page 26: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/26.jpg)
Worker
![Page 27: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/27.jpg)
Process Flow
![Page 28: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/28.jpg)
Task• An atomic function to be performed by the Hive (e.g. a syntax check
or database lookup)• A Task can be written in C/C++ or Java• A Task can optionally implement OnStartup and OnShutdown
functions to initialize memory and or the environment
![Page 29: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/29.jpg)
Task Examplevoid makeStringUppercase(TASK_HANDLE request){
string data = task_getAttribute( request, "argument" );data = ToUpper(data);task_setAttribute( request, "argument", data );task_setResult( request, "COMPLETE" );
}
• All data passes into the task through the TASK_HANDLE data structure• Hive Developer’s task code reads arguments from the TASK_HANDLE object• The task performs operations as necessary • Any data updates are made to the TASK_HANDLE object
![Page 30: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/30.jpg)
Limited Tasks
• Some tasks should not run on every machine such as connections to limited resources
• These tasks can be ‘limited’ by the Hive to run on either X total machines or Y percentage of machines
![Page 31: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/31.jpg)
Rollbacks• Application level rollbacks are handled via compensating tasks
within the process flow• Only the application developer is aware of how to “undo” any of the
atomic actions that have been completed• The Hive’s process flow allows the application developer to catch
errors generated by the task and send the transaction to a task to undo any actions within the process flow
![Page 32: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/32.jpg)
Databases and a Hive• Hive Developers should leverage existing database solutions for
data storage• Database connection code can be written as tasks for the Hive to
manage• If one machine with a database connection goes down, the Hive can
bring another connection up
![Page 33: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/33.jpg)
Hive API
• The Hive is accessed through thin client side API’s written in C/C++ or Java in Windows or UNIX
• Client API addresses the Hive as a whole, not a single machine• Client API can use SSL connections when communicating with the
Hive
![Page 34: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/34.jpg)
API ExampleHAPI_PROCESS process;process = hapi_createProcess();
hapi_setAttribute( process, "aString", "ABCDEF");long rc = hapi_executeProcess( process,
"integration_test_app", "CaseProcess", "224.0.0.1", 31000, HAPI_NO_ENCRYPTION );
string resultString = hapi_getAttribute( process, "aString" );string processResult =hapi_getProcessResult( process );
hapi_destroyProcess( process );
![Page 35: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/35.jpg)
Deploying Hive Applications
• Hivepkg bundles process flows, tasks, and support files and provides syntax checking before deployment
• Hivectl deploys applications to a Hive• Applications can be deployed to a running Hive• The Hive gracefully updates a subset of workers while the majority of the
workers continue processing transactions
![Page 36: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/36.jpg)
eXtreme Programming
• Test-Driven Development– Automated build process– Each build is subjected to 3,000+ unit tests– Extremely tight code
• Paired Programming• The Planning Game
![Page 37: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/37.jpg)
Suitable Applications
• Transaction-Oriented applications– Request/Response loop
• Financial Services & Insurance– Credit Card Processors– Trading Systems– Financial and process modeling
• Homeland Security, Government, & Defense– Applications where scalability, reliability, & survivability are important
• Biotechnology & Life Sciences– Bioinformatics– In-silico drug discovery
![Page 38: January 29, 2003 2003 Tsunami Research, Inc. Presented to COOUG February 11, 2003 Hive Computing A New Vision for Mission Critical Applications](https://reader035.vdocuments.net/reader035/viewer/2022062906/5a4d1b6d7f8b9ab0599b41bf/html5/thumbnails/38.jpg)
For More Information
Chris O’Leary314.336.2841 – [email protected]
Don Mang314.336.2840 – [email protected]
www.tsunamiresearch.com