Suche senden
Hochladen
German in 7 Million Shared Objects
•
1 gefällt mir
•
563 views
E
ESUG
Folgen
Jan Schümmer: German in 7 Million Shared Objects ESUG 2002, Douai, France.
Weniger lesen
Mehr lesen
Technologie
Melden
Teilen
Melden
Teilen
1 von 30
Jetzt herunterladen
Downloaden Sie, um offline zu lesen
Empfohlen
GeForce 8800 OpenGL Extensions
GeForce 8800 OpenGL Extensions
icastano
Flash Camp Chennai - Social network with ORM
Flash Camp Chennai - Social network with ORM
RIA RUI Society
Getting started with entity framework revised 9 09
Getting started with entity framework revised 9 09
manisoft84
HTML5: State of the Union
HTML5: State of the Union
Sencha
Innovations in Grid Computing with Oracle Coherence
Innovations in Grid Computing with Oracle Coherence
Bob Rhubart
Spring Data for JJUG for Cross Conference Fall
Spring Data for JJUG for Cross Conference Fall
Toshihiko Ikeda
CDI and Weld
CDI and Weld
jensaug
DAD Metadata KTN
DAD Metadata KTN
dadapp.com
Empfohlen
GeForce 8800 OpenGL Extensions
GeForce 8800 OpenGL Extensions
icastano
Flash Camp Chennai - Social network with ORM
Flash Camp Chennai - Social network with ORM
RIA RUI Society
Getting started with entity framework revised 9 09
Getting started with entity framework revised 9 09
manisoft84
HTML5: State of the Union
HTML5: State of the Union
Sencha
Innovations in Grid Computing with Oracle Coherence
Innovations in Grid Computing with Oracle Coherence
Bob Rhubart
Spring Data for JJUG for Cross Conference Fall
Spring Data for JJUG for Cross Conference Fall
Toshihiko Ikeda
CDI and Weld
CDI and Weld
jensaug
DAD Metadata KTN
DAD Metadata KTN
dadapp.com
Domain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring Portfolio
Srini Penchikala
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
lseinturier
Migrating from Unstructured to Structured FrameMaker
Migrating from Unstructured to Structured FrameMaker
Scott Abel
Framework Engineering
Framework Engineering
YoungSu Son
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
Gabriel Walt
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
Marc Dutoo
Cloud Foundry Open Tour - London
Cloud Foundry Open Tour - London
marklucovsky
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
Roopa Nadkarni
Dan Haywood
Dan Haywood
Skills Matter
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13
gaborvodics
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
Marc Dutoo
PIM4Cloud
PIM4Cloud
Marcos Almeida
Framework Engineering_Final
Framework Engineering_Final
YoungSu Son
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
NRB
Dynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open Challenges
bcantrill
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM France Lab
X plat dev - part ii publish
X plat dev - part ii publish
TekObserver
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Carolyn Crowe
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
Intland Software GmbH
Dancing about architecture
Dancing about architecture
Coraline Ehmke
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
Technical documentation support in Pharo
Technical documentation support in Pharo
ESUG
Weitere ähnliche Inhalte
Ähnlich wie German in 7 Million Shared Objects
Domain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring Portfolio
Srini Penchikala
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
lseinturier
Migrating from Unstructured to Structured FrameMaker
Migrating from Unstructured to Structured FrameMaker
Scott Abel
Framework Engineering
Framework Engineering
YoungSu Son
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
Gabriel Walt
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
Marc Dutoo
Cloud Foundry Open Tour - London
Cloud Foundry Open Tour - London
marklucovsky
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
Roopa Nadkarni
Dan Haywood
Dan Haywood
Skills Matter
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13
gaborvodics
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
Marc Dutoo
PIM4Cloud
PIM4Cloud
Marcos Almeida
Framework Engineering_Final
Framework Engineering_Final
YoungSu Son
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
NRB
Dynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open Challenges
bcantrill
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM France Lab
X plat dev - part ii publish
X plat dev - part ii publish
TekObserver
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Carolyn Crowe
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
Intland Software GmbH
Dancing about architecture
Dancing about architecture
Coraline Ehmke
Ähnlich wie German in 7 Million Shared Objects
(20)
Domain Driven Design Development Spring Portfolio
Domain Driven Design Development Spring Portfolio
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
Software Engineering of Component-Based Systems-of-Systems: A Reference Frame...
Migrating from Unstructured to Structured FrameMaker
Migrating from Unstructured to Structured FrameMaker
Framework Engineering
Framework Engineering
Optimizing HTML5 Sites with CQ5/WEM
Optimizing HTML5 Sites with CQ5/WEM
EclipseConEurope2012 SOA - Models As Operational Documentation
EclipseConEurope2012 SOA - Models As Operational Documentation
Cloud Foundry Open Tour - London
Cloud Foundry Open Tour - London
Best practices for effective doors implementation-Ashwini Patil
Best practices for effective doors implementation-Ashwini Patil
Dan Haywood
Dan Haywood
Cast Iron Overview Webinar 6.13
Cast Iron Overview Webinar 6.13
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
From Eclipse to Document Management - Eclipse DemoCamp Grenoble 2012
PIM4Cloud
PIM4Cloud
Framework Engineering_Final
Framework Engineering_Final
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
The NRB Group mainframe day 2021 - Containerisation on Z - Paul Pilotto - Seb...
Dynamic Languages in Production: Progress and Open Challenges
Dynamic Languages in Production: Progress and Open Challenges
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
IBM Cloud Paris Meetup - 20180628 - Rex on ODM on Cloud
X plat dev - part ii publish
X plat dev - part ii publish
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Cast Iron Overview Webinar 6.13.12 Final(Jb)
Distributed Software Development with Scrum and Social Coding
Distributed Software Development with Scrum and Social Coding
Dancing about architecture
Dancing about architecture
Mehr von ESUG
Workshop: Identifying concept inventories in agile programming
Workshop: Identifying concept inventories in agile programming
ESUG
Technical documentation support in Pharo
Technical documentation support in Pharo
ESUG
The Pharo Debugger and Debugging tools: Advances and Roadmap
The Pharo Debugger and Debugging tools: Advances and Roadmap
ESUG
Sequence: Pipeline modelling in Pharo
Sequence: Pipeline modelling in Pharo
ESUG
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 results
ESUG
Transpiling 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 Generation
ESUG
Creating 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 Modes
ESUG
Exploring 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 APIs
ESUG
Garbage Collector Tuning
Garbage Collector Tuning
ESUG
Improving 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 Future
ESUG
thisContext in the Debugger
thisContext in the Debugger
ESUG
Websockets for Fencing Score
Websockets for Fencing Score
ESUG
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ShowUs: PharoJS.org Develop in Pharo, Run on JavaScript
ESUG
Advanced Object- Oriented Design Mooc
Advanced Object- Oriented Design Mooc
ESUG
A 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 programming
Technical 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 Roadmap
Sequence: 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...
Analyzing 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 6
A Unit Test Metamodel for Test Generation
A Unit Test Metamodel for Test Generation
Creating 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 Modes
Exploring 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 APIs
Garbage Collector Tuning
Garbage Collector Tuning
Improving 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 Future
thisContext in the Debugger
thisContext in the Debugger
Websockets for Fencing Score
Websockets for Fencing Score
ShowUs: 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 Mooc
A New Architecture Reconciling Refactorings and Transformations
A New Architecture Reconciling Refactorings and Transformations
Kürzlich hochgeladen
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Results
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Digital Insurer
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
Enterprise Knowledge
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Michael W. Hawkins
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
wesley chun
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
UK Journal
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
Igalia
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
naman860154
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
The Digital Insurer
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
vu2urc
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...
Neo4j
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
The Digital Insurer
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Pixlogix Infotech
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
Enterprise Knowledge
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
Gabriella Davis
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
Delhi Call girls
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Delhi Call girls
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
wesley chun
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
Anna Loughnan Colquhoun
Kürzlich hochgeladen
(20)
A Call to Action for Generative AI in 2024
A Call to Action for Generative AI in 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
Axa Assurance Maroc - Insurer Innovation Award 2024
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
The Role of Taxonomy and Ontology in Semantic Layers - Heather Hedden.pdf
GenCyber Cyber Security Day Presentation
GenCyber Cyber Security Day Presentation
Powerful Google developer tools for immediate impact! (2023-24 C)
Powerful Google developer tools for immediate impact! (2023-24 C)
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
Understanding Discord NSFW Servers A Guide for Responsible Users.pdf
A Year of the Servo Reboot: Where Are We Now?
A Year of the Servo Reboot: Where Are We Now?
How to convert PDF to text with Nanonets
How to convert PDF to text with Nanonets
Tata AIG General Insurance Company - Insurer Innovation Award 2024
Tata AIG General Insurance Company - Insurer Innovation Award 2024
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
TrustArc Webinar - Stay Ahead of US State Data Privacy Law Developments
Histor y of HAM Radio presentation slide
Histor y of HAM Radio presentation slide
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...
Finology Group – Insurtech Innovation Award 2024
Finology Group – Insurtech Innovation Award 2024
Advantages of Hiring UIUX Design Service Providers for Your Business
Advantages of Hiring UIUX Design Service Providers for Your Business
Driving Behavioral Change for Information Management through Data-Driven Gree...
Driving Behavioral Change for Information Management through Data-Driven Gree...
A Domino Admins Adventures (Engage 2024)
A Domino Admins Adventures (Engage 2024)
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Friends Colony Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
08448380779 Call Girls In Diplomatic Enclave Women Seeking Men
Automating Google Workspace (GWS) & more with Apps Script
Automating Google Workspace (GWS) & more with Apps Script
Data Cloud, More than a CDP by Matt Robison
Data Cloud, More than a CDP by Matt Robison
German in 7 Million Shared Objects
1.
German in 7
Million Shared Objects Jan Schümmer, intelligent views Darmstadt, Germany j.schuemmer@i-views.de
2.
Outline
Background • intelligent views & K-Infinity • BI & Duden K-Infinity as a production environment • demo How we did it • architecture • scale-up of the standard product • Improvements in COAST © intelligent views gmbh 2002 2
3.
intelligent views
• located in Darmstadt, Gemany • founded in 1997 • spin-off enterprise of former GMD – National Research Center for Information Technology, institute IPSI © intelligent views gmbh 2002 3
4.
What we are
doing add meaning to your data CMS content provider WWW news, company data etc. © intelligent views gmbh 2002 4
5.
K-Infinity tool suite
Knowledge Builder • schema definition Markup Tool • link documents to the net Usage tools (Java) • Net Navigator • Knowledge Accelerator • Web presentation engines © intelligent views gmbh 2002 5
6.
our customer
publisher of the „Duden“ dictionaries, encyclopaedias etc several „Duden“ products • German language (10 volumes) • standard dictionary (1 volume) • specialized dictionaries (etymology, foreign words, sayings, ...) requirement: single repository for all dictionary publications © intelligent views gmbh 2002 6
7.
problem domain
dictionary entries contain ... grammar keyword origin pragmatics quotations definition different usages / meanings references to other entries phrases examples © intelligent views gmbh 2002 7
8.
knowledge model
grammar Term (different meanings) quotations related lemma (keyword) definition lemma (keyword) phrases (usage examples) pragmatics sayings © intelligent views gmbh 2002 8
9.
demo
organizer term editor preview © intelligent views gmbh 2002 9
10.
need to scale
up 211839 keywords (lemmas) 248965 meanings (terms) ± 250000 definitions 234826 quotations and examples 17 average attributes & relations per lemma with terms 4 average attributes & relations per quotation à calculates to 5 998 000 shared 480 MB objects à actual: 8 177 364 (incl. Index) à far too much for K-Infinity in 2001 © intelligent views gmbh 2002 10
11.
what we did
measure first • there always is a screw to turn • memory usage and performance are related • have a look at the allocation profiler when time profiling doesn‘t show results © intelligent views gmbh 2002 11
12.
Slim down: Object
loading (1) only load into memory what you really need • model objects are organized in clusters • clusters are the smallest unit that can be requested from the central server (mediator) • COAST 1.0 - whole clusters are loaded on demand frame slot slot value value cluster frame slot value dictionary dictionary holder frame frame slot slot © intelligent views gmbh 2002 12
13.
Slim down: Object
loading (2) first commercial project • delay unmarshaling of structures until they are accessed (lazy unmarshaling) • keep persistent representation in ByteArrays → reduced number of objects to be created during cluster loading → untouched objects can be directly written from their ByteArray representation frame cluster frame unmarshaled byte array dictionary frame frame © intelligent views gmbh 2002 13
14.
Slim down: Object
loading (3) latest improvement • stream clusters to disk cache • create empty frames for those objects that are not needed at the moment • lazy unmarshaling/loading from disk cache frame pointer to cluster frame dictionary disk cache frame frame © intelligent views gmbh 2002 14
15.
object loading: memory
footprints before after Class instances bytes instances bytes +- byte 1 ByteArray 275976 22723153 172 96926 -22626227 2 TwoByteString 74554 2655308 74554 2655308 0 3 Array 7710 2597668 7662 2592020 -5648 4 IdentityDictionary 620 2389560 603 2385784 -3776 5 COAST.CatCSFrameLocator 79182 1583640 79182 1583640 0 6 KInfinity.KMarkupAttribute 50759 1421252 50759 1421252 0 14 IdentitySet 14517 555636 14523 555852 216 15 KInfinity.BIFABChangeRecord 16696 467488 16696 467488 0 16 COAST.CatFSSlot 9138 328968 9143 329148 180 17 ByteString 1403 54734 1509 55400 666 © intelligent views gmbh 2002 15
16.
Slim down at
application level • shortcuts within the model to avoid loading intermediate objects • re-clustering to have those objects together that are typically needed together • add index structures to avoid searching • in general: Be careful when traversing object structures © intelligent views gmbh 2002 16
17.
Slim down: Programming
tricks avoid large ST Dictionaries and Sets, instead • use more compact data types (e.g. Array) • teach WeakDictionary to shrink • consider using IdentityDictionary instead of Dictionary • get rid of instance variables • have a look at memory allocation for temporaries: importantObjects := (myLargeCollection collect: [ :e | e -> e foo1 ]) select: [ :assoc | assoc key foo2 ]. ^ importantObjects anyElement value © intelligent views gmbh 2002 17
18.
Lowest level possible
The VisualWorks VM • bulk load problems in 2001 were finally solved by reducing object allocation and –footprint (lazy unmarshaling) • specialised MemoryPolicy - thanks to John M. McIntosh and ESUG 2001 • hard problems while importing - Out of memory in scavange.c (ine 1622) - This was not an endless loop - Solved by setting FreeMemoryUperBound to max - Thanks to Cincom support and Eliot Miranda © intelligent views gmbh 2002 18
19.
Performance: Get the
sumo to dance © intelligent views gmbh 2002 19
20.
performance 1
some user interfaces simply don‘t scale up • drop down lists • composite views with many elements strategy: change the interface without losing functionality © intelligent views gmbh 2002 20
21.
performance 2
even slim sumos get fat when they are fed too much • e.g. structural queries strategy: let others do the work ;-) • delegate time/resource consuming tasks to dedicated processes © intelligent views gmbh 2002 21
22.
Behind the Scenes
K-Infinity standard architecture XML cache XML XML XML XML XML bridge XML servlet web server native administration tool native COAST native external server interfaces Knowledge builder native legacy systems storage © intelligent views gmbh 2002 22
23.
architecture scale-up
fat-client architecture, but time- and/or memory consuming tasks are better performed on on a server solution: specialised servers for e.g. structural queries, full text index queries administration tool COAST query server server knowledge Knowledge- Knowledge- builder Builder Builder term editor storage © intelligent views gmbh 2002 23
24.
programmer‘s view
Distributed computing with COAST • process communication via shared state • c.f. Linda tuple spaces shared between UI & job clients © intelligent views gmbh 2002 24
25.
programmer‘s view (2)
ui client job executor client • create a (search) job object • add it to the global job pool • open a view on the result set • wake up & take job (mark it as #inProgress) • Coast view updating visualizes #inProgress • execute job • write result into some shared object • Coast view updating visualizes results © intelligent views gmbh 2002 25
26.
tools & practices
„Take advantage of the tools“ • no magic involved • allocation profiler • time profiler • SystemAnalyzer>>showSystemHistogram optimisations in underlying layers rather than in the concrete application •... application tuning has local effect •... low level optimizations let the whole system benefit get it run – get it right – get it fast © intelligent views gmbh 2002 26
27.
The COAST Framework
ere it wh ber an em eg Rem all b Support the development of - object oriented - synchronous - interactive, and - complex groupware applications © intelligent views gmbh 2002 27
28.
How we use
COAST underlying technology for K-Infinity • persistence • transactions & concurrency control • user interface (automatic view updating) • modelling (object behavior framework) COAST evolves towards an OO database • data volume is still growing • most features that you would expect from an OODBMS • we are tuning COAST as well as K-Infinity • 12 800 empty transactions/second on this 500 MHz PC © intelligent views gmbh 2002 28
29.
you can use
COAST for free COAST is open source It is included as a goodie in Cincom‘s VisualWorks 7 release Feedback, usage experiences, and contributions are highly welcomed © intelligent views gmbh 2002 29
30.
further information
www.i-views.de www.opencoast.org © intelligent views gmbh 2002 30
Jetzt herunterladen