|
NetKernel News Volume 3 Issue 21
April 20th 2012
What's new this week?
Catch up on last week's news here
Repository Updates
The following updates are available in both the NKEE and NKSE repository...
- lang-xrl 1.12.1
- fixed corner case in some unusual template DOMs where node name could not be found
- layer0 1.82.1
- added support for metadata model to support "show thread safety of physical endpoints"
- layer1 1.36.1
- added check to spaceAggregateHDS to look for rapidly expiring aggregated resources (note below)
- module-standard 1.53.1
- enhanced robustness to rapidly changing space metadata
- nkse-dev-tools 1.45.1
- added new "All Non Threadsafe Endpoints" explorer view (see below)
- nkse-docs 1.18.1
- fix typo in element names displayed for prototype examples
- nkse-visualizer 1.17.1
- fix to stop NPE when viewing the transrept of null representation
- nkse-xunit 1.8.1
- Non-existent assert reference now throws exception
- system-core 0.30.1
- added support for metadata model to support "show thread safety of physical endpoints"
The following new tool is available in the NKEE repository...
- nkee-dev-tools 0.24.1
- fix to cause the log health check to update every 2 minutes
Video: ROC @ Cambridge
Here's the video of last week's ROC talk at Cambridge...
- The slides are available here
- The demos that are shown are demo1, demo-goldenthread and demo-nkp-mandelbrot all of which you can play with yourself by installing from Apposite.
Thanks very much for the warm reception we received. A big thanks for those that, literally went the extra mile, and made the journey up from London. Finally, a particular shout out to Chris Cormack for organising the event and for shooting and editing the video.
*New* Non-ThreadSafe Endpoints Tool
The NetKernel scheduler will only issue requests to a physical endpoint if it declares itself to be thread-safe. The thinking on this is that when developing you want to be protected by default from assumptions of thread safety both in your own code, but more likely in the use of 3rd party libraries.
The idea that is that during development, or at minimum, during code review. An endpoint will have its constructor call this.declareThreadSafe() and so the endpoint will be concurrently scheduled and can proceed to hard-core testing etc.
The consequence of not marking your endpoint as threadsafe, is that in heavily concurrent systems - you are presenting a bottleneck to the overall throughput of the system. Sometimes this is necessary - and it is certainly legitimate to make your endpoint single-use.
Some would argue that the default for the StandardEndpoint base class should be to mark all endpoints threadsafe by default. When coding fast to get something done, its easy to forget to have a constructor with a this.declareThreadSafe() method - often this doesn't mean anything. But sometimes it can lead to bottlenecks and in the worst case thread-starvation deadlocks.
To help with the review process we've shipped a new tool - the "Non-ThreadSafe Endpoints" tool. Which you'll find in the space explorer tab...
The list of endpoints can be filtered, and by clicking on the row you'll get taken to the contextual space explorer details for the physical endpoint. At which point you can decide if this is a deliberate design intent - or an accidental oversight...
Supporters Found
We're very pleased with the response we've received to the vacancy notices. Its enormously flattering that so many of you have indicated you would be inclined to throw your lot in with us. Its especially humbling given the quality and depth of talent that you possess.
We're expecting to be moving forward with the process over the summer/autumn so watch this space.
Its not too late to be considered. We're going to need smart guys who can assist in every area. Support, development, training, consulting etc etc... and there are still so many things to do on the research/dev side we have barely scratched the surface...
Have a great weekend.
Comments
Please feel free to comment on the NetKernel Forum
Follow on Twitter:
@pjr1060 for day-to-day NK/ROC updates
@netkernel for announcements
@tab1060 for the hard-core stuff
To subscribe for news and alerts
Join the NetKernel Portal to get news, announcements and extra features.