Tags / Netkernel
A Brief History of NetKernel
- on extracting release data over nine year period
I’ve just finished working on exposing a complete change history for NetKernel for the period from the release of NetKernel 4.0, nine years ago. Previously our mechanism for publicly exposing this information has been solely through the, once weekly, newsletters. However that medium is unstructured which meant it was hard to get an overview of changes and check for specific releases for any particular package. Since the release of NetKernel 4, we introduced a repository approach to releasing updates to NetKernel.
Published Aug 26, 2018
4 min read
netkernel
External Request Profiler
We’ve been working recently with a client, on a solution, revolving around crunching large volumes of data. The scale of data meant that even on a large cluster the computation takes many hours. The usual mode of operation for these compute jobs is to set them off in the evening, and return the next working day to see the results. I was working with them to capture some engineering figures and statistics to assess the performance and opportunities to optimise or re-design.
Published Jan 26, 2018
3 min read
netkernel
Generalizing Dynamic Programming
- Using dynamic programming techniques to optimise general compute efficiency
Dynamic programming is an approach to efficiently implementing certain classes of algorithms. As a feeble excuse for not noticing this earlier, the term is a little confusing: it isn’t about programming or about doing it dynamically! It was invented in the 1950s by Richard E. Bellman whilst working for RAND Corporation. Apparently he deliberately named it obtusely to avoid his work being considered research! I discovered this term recently when looking into existing research about algorithm optimisation and specifically why the systemic memoisation in NetKernel can optimise solutions to certain problems particularly well.
Published Apr 10, 2017
8 min read
computer-science
·
netkernel
·
caching
·
optimisation
Travelling Salesman Problem
- Study of TSP running on NetKernel with cache replacing dynamic programming
This paper offers an analysis of the application of NetKernel and Resource oriented computing to the well known Travelling Salesman Problem (TSP). This discussion ignores the many approximate approaches to solving this problem which are necessary for real-world problems of any significant complexity. The aim, however, is to show how ROC can automatically optimise a solution which it knows nothing about other than empirical data collected during execution. The algorithm structures the problem into sub-problems many of which overlap with each other - this occurrence is called overlapping subproblems.
Published Apr 6, 2017
8 min read
computer-science
·
netkernel
·
caching
Practical State Machines in NetKernel
Following up on my previous post, ROC Hockey, where I introduced our new implementation of Hierarchical State Machines on NetKernel I’ve decided to cover the topic of how they are actually used in practice in an ROC system.
Published Oct 28, 2013
5 min read
netkernel
·
computer science
NetKernel IDE Feedback
Thank you to all those who provided feedback on what you’d like to see in a NetKernel IDE Plugin. This is a topic that has been on my mind for a couple of years now as various folks have dabbled with creating one, and as we have observed many development teams and how they use their IDEs to truly integrate all their tools. So the feedback I received was pretty much in consensus in some areas and widely varied in others.
Published Apr 12, 2013
3 min read
netkernel
Heap Tuning for Large NetKernel Instances Part 2
In the last post I set the stage for a discussion on how to tune large NetKernel instances by providing a discussion of how the Java heap operates and how the NetKernel representation cache interacts with that. Now we are ready to get into the details of how to tune your system. So let’s get stuck in. First we need to capture a of couple metrics: Fixed OldGen - this is composed of the long lived objects that are the modules, spaces, endpoints and kernel data structures.
Published Feb 7, 2013
9 min read
netkernel
·
caching
·
optimisation
Heap Tuning for Large NetKernel Instances Part 1
I’m writing this post to document information that I learned whilst developing the new NetKernel enterprise L1 representation cache (released today!). Knowledge of how to tune large Java instances is readily available but because NetKernel uses a cache as an integral part of it’s operation and usually this takes up a significant majority of the heap space of a running system this effects the conventional wisdom. So this article summarizes and augments this information with tips and details for tuning large NetKernel instances.
Published Jan 25, 2013
6 min read
netkernel
·
caching
·
optimisation
Cut to the Chase
“Cut to the chase” is something you’re only likely to hear me say if I’m enduring some kind of Dickensian wordfest drawn out from the changing of a single bit of information. However in this case I’m not the actor but rather it’s a new architectural endpoint for NetKernel that can keep your web apps on track and up-to-date. Let me explain. Whilst working on the recent representation cache update I noticed that the standard pattern of issuing AJAX requests from the browser was causing a problem.
Published Dec 20, 2012
3 min read
netkernel
·
architecture
·
optimisation