Some Eclipse Foundation services are deprecated, or will be soon. Please ensure you've read this important communication.
Bug 355913 - [builder] support dynamic cluster size
Summary: [builder] support dynamic cluster size
Status: CLOSED FIXED
Alias: None
Product: TMF
Classification: Modeling
Component: Xtext (show other bugs)
Version: 2.1.0   Edit
Hardware: PC Mac OS X - Carbon (unsup.)
: P3 enhancement (vote)
Target Milestone: SR2   Edit
Assignee: Project Inbox CLA
QA Contact:
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2011-08-26 02:12 EDT by Knut Wannheden CLA
Modified: 2017-09-19 18:16 EDT (History)
1 user (show)

See Also:
sven.efftinge: indigo+


Attachments
dynamic clustering implementation (8.13 KB, patch)
2011-08-26 03:28 EDT, Knut Wannheden CLA
sven.efftinge: iplog+
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Knut Wannheden CLA 2011-08-26 02:12:21 EDT
The current clustering builder works with a fixed (but configurable) cluster size. Working with larger cluster sizes can considerably improve the build performance and is now also more readily possible as the node model memory footprint was reduced drastically with Xtext 2.0.

Another clustering strategy would be to continue to process resources as part of the same cluster until a certain memory threshold is reached. E.g. until there is less than 20 MB or 10% free heap memory available to the JVM. This would allow users to increase the build performance by giving more memory to the JVM.

Experience has shown that a dynamic clustering strategy as described works very well in practice. But it should be completed with - what may seem a bit strange - a minimum cluster size of e.g. 20. Without this the JVM's garbage collector may decide that there is still plenty of memory available (e.g. 10% of 5GB) and not kick in. Then, without a minimum cluster size, the builder would continue to work with clusters of size 1 until the garbage collector finally kicks in.

There are probably other very interesting clustering strategies so I think there should be an interface for this. Then I think the described dynamic clustering strategy should be the default of the Xtext builder.
Comment 1 Sven Efftinge CLA 2011-08-26 02:54:52 EDT
A patch would be most welcome ;-)
Comment 2 Knut Wannheden CLA 2011-08-26 03:28:12 EDT
Created attachment 202205 [details]
dynamic clustering implementation

The attached patch implements the strategy as described.
Comment 3 Sven Efftinge CLA 2011-08-30 02:52:20 EDT
looks good! please apply.
Comment 4 Knut Wannheden CLA 2011-08-30 05:46:43 EDT
Pushed patch to master.
Comment 5 Karsten Thoms CLA 2017-09-19 18:06:49 EDT
Closing all bugs that were set to RESOLVED before Neon.0
Comment 6 Karsten Thoms CLA 2017-09-19 18:16:30 EDT
Closing all bugs that were set to RESOLVED before Neon.0