We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
We can't find the internet
Attempting to reconnect
Something went wrong!
Hang in there while we get back on track
Ariadve.eu / About us
John van Brummen, MSc
Skipper / Chief Navigator
Start in software, compilers and computer architecture ...
"It was a misguided polytechnic traineeship that brought me to the Watergraafsmeer in Amsterdam
on the doorsteps of the Dutch IKO Physics Research Institute (later NIKHEF) and the Mathematical Center (later CWI).
I was in urgent need of a new traineeship. After talking to both IKO and the MC I got introduced to ACE Associated Computer Experts.
ACE had worked on the message passing control software for the IKO lineair electron accelerator.
Both IKO and ACE made me an offer. I was happy to accept the ACE offer.
The IKO IT infrastructure was Unix based.
It was at these Dutch research institutes that the Bell Labs Unix Version 7 operating system had made its Netherlands landing! ACE would
become one of the early and prominent Unix porting houses in Europe. After graduation I joined ACE as a junior Unix/C Compiler Engineer.
Unix was quickly adopted by a computer industry moving to micro-processors. It paved the way for the GNU and Linux open source movements
that would become the foundation of cloud computing."
Ten years at ACE Associated Computer Experts ...
"As Unix/C Compiler Engineer I contributed to the development, retargeting and maintenance of the ACE compilers for
Motorola MC68000, Norks Data ND5000, Intel x86 and the Inmos T800/T9000 Transputer. The ACE compilers were inspired
by Johnson's Portable C Compiler with a common intermediate code that separated programming language frontend from
a target computer architecture backend. There was language support for K&R C, ANSI/ISO C, Fortran-77, Pascal, Modula-2 and Cobol.
On becoming account manager for ACE's key industrial partners I visited and maintained contact with CERN Geneva, Motorola Austin,
Hewlett-Packard Denver,
Norks Data Oslo, Dolphin Oslo, Larsen & Tubro Bombay, Parsytec Aachen and the Open Software Foundation (OSF) in Tokyo.
ACE adhered to a strict quality assurance policy that coupled ISO Standard compliance with ISO Working Group participation.
The ACE compilers were rigorously regression tested, compliance validated and architecture benchmarked. My final project as
project leader was the retargeting of the ACE Compilers for Parsytec's GigaCube MIMD supercomputer based on the Inmos T800/T9000 Transputer.
It is in this era that computer architecture was about to dramatically change ... a transition from strict sequential computing
to advanced superscalar, pipelined, out-of-order and multi-core computing. There was a large and heavily
invested legacy of sequentially programmed software. Could compilers translate sequential code to highly
parallel processors? Could they detect implicit parallelism in sequential code and effectively
utilize the advanced parallel processor architectures of the future?
Leaving ACE, studying and going freelance ...
"After leaving ACE I engaged in a two year Master's Programme in Computer Science and Philosophy of Language at
the University of Amsterdam. With a specialization in Computer Architecture I graduated under Prof.dr. Leo Hertzberger
on performance simulations of the Parsytec GigaCube MIMD architecture."
"My first freelance project was Parsytec
asking me to to form a project with Parsytec, Bull Groupe France and the University of Amsterdam. Its aim was
to develop a high-speed interconnect communication technology that would plug in to standard PC industry
processor boards. We submitted an EU ESPRIT request for funding. It was however not rewarded. Seeing the writing
on the wall Parsytec changed its business strategy and moved from high-performance computing platforms to computational intensive
industrial applications. It found itself a niche in premium quality inspection of steel production. It became global market leader and
remains that today. After this I moved on as project leader to several R&D projects at the Dutch TNO TPD Research Institute,
Tulip Computers, Dutch Police and Irdeto Access."
"In 2010 I re-engaged with my former colleagues at ACE. They asked me
to take up the business development of the Leiden University start-up Compaan Design in which they were invested.
Compaan was co-located at the ACE Amsterdam offices on Oosterdokseiland. They were working on auto parallelization of deeply
nested and highly computational ANSI/ISO-C innerloops that were successively mapped on spatially parallel Field Programmable Gate Arrays (FPGAs).
It was typically applied in medical scanners, military radar and computer vision. I kick-started the commercial side of
the business and developed relationships with Philips Healthcare, Thales France and Bull Groupe France. It had
some success with Compaan Design entering into its first commercial deal with Philips Healthcare. However, auto parallelization
of legacy ANSI/ISO-C code proved very difficult, remained restricted to a few limited use cases, and struggled to get market
traction and appeal. Regretfully, I had to end my personal involvement. Then Compaan Design distanced themselves from
their investment and technology partner ACE. They relocated back to Leiden."
"At this point ACE asked me to set up a new code verification and quality assurance branch to their business. To get started
I visited a static code analysis conference in Venice Italy where I got introduced to the leading scholars of
code verification from the French academia and research community. French research into formal methods of code
verification had intensified after the Ariane 5 rocket exploded during launch due to programming errors.
I evaluated the formal method of Abstract Interpretation as pioneered by the French research (and life) couple Patrick and Radhia Cousot.
Taking further clues from Microsoft Research I made a time/space efficient functional design of code verification
for the ACE CoSy compiler construction toolkit. However, the semi-conductor industry was rapidly changing. System-on-chip silicon
was consolidating the computer industry standardizing on Intel x86 and increasingly ARM. The GNU Compilers and Linux were gaining in quality
and were freely available as open source. The business of software
products was transitioning into pay-by-the-meter Software-as-a-Service. As a consequence ACE's compiler business did start to struggle
and was forced to terminate. ACE managed to extract its SuperTest ISO-C Compiler Validation Suite to a separate company
Solid Sands which has survived as a profitable business to this day."
"As freelancer I also provide technical due dilligence to private equity investors. This involves
the evaluation of software stack, applied methods and technologies,
the workforce internal versus external skill set, feature set,
roadmap planning, software development management, risk analysis and risk mitigation."
Starting Ariadve and using parallelism to scale ...
"Early 2015 my interest in the Elixir functional programming language was triggered from two angles. Firstly, there were scalability
issues with Ruby-on-Rails leading Ruby programmers to switch to Elixir. Secondly, WhatsApp scaled
to 1 billion users with only 50 engineers using Erlang! It seemed Elixir/Erlang had a lot on offer.
As an exercise I transcoded a time registration sytem implemented in Ruby-on-Rails to Phoenix/Elixir.
The result excelled in
code clarity, compactness and robustness as well as offering excellent speed and reliability in execution!"
"July 2019 saw the start of Ariadve as an initiative to offer new solutions in search.
It was named after Ariadne in Greek mythology with Ariadne giving Theseus a sword and ball of thread
so that he could retrace his way out of the Labyrinth after killing the Minotaur. Ariadve is spelled with a Greek n
as to not clash with the domain name Ariadne that was already taken."
"The first Ariadve project was the development and operational servicing of a Web search engine
for professional real estate lead generation. This involved processing massive amounts of government public registry provided data. It was a
good usecase to put Elixir/Erlang to the test. It was developed with the Phoenix Framework and was
hosted at Digital Ocean. It relies on lazy evaluation of streaming searches combining multiple public APIs to
registry databases. It
composes searches from individual query, filter, spread and collect nodes that jointly configure as a search flow. The search is
pipelined by performing dataflow analysis on the declarative input/output dataflow signatures of individual nodes.
Searches are Web configured and run in parallel to user
desired machine and API capacity. Under successful stress testing this just kept working without the parallel executing search
threads blocking one another. This is a major achievement as it involves dynamic scheduling of many resource
competing network requests that cannot be predicted or scheduled beforehand in advance."
"The second Ariadve project was a supermarket product & price comparison Web search engine that offers keyword
search of product brand, retail brand, product name and any permutation of product characteristics.
Its zoom-in/zoom-out user experience, its automatic keyword suggestion and its click/un-click keyword selection makes it
user friendly and versatile. Easily browse and explore competing product offers with
up-to-date product and price detail. It scrapes supermarket websites and caches product details in the Erlang ETS
high performance caching subsystem. It scales to hundreds of thousands of products without noticable performance
delay. However, the website scraping turned out to be a moving target as supermarkets were eager to protect their Web provided
product pricing. Some websites are scraped directly. Others can only be scraped indirectly by using Google's headless Chrome.
And, some have a content encryption, scrambling and obfuscation that makes scraping just impossible. For that reason the
project was abandoned."
Extending Ariadve to Machine Learning and AI ...
"Since 2020 Elixir has been extended with capabilities for numerical computing named as Numerical Elixir and
tagged as Nx. The Elixir Nx extension offers: multi-dimensional typed arrays (aka tensors),
numerical definitions implemented as Elixir macro's, automatic differentiation and JIT/AOT staged compilation for
the CPU/GPU. Elixir already supported fine and coarse-grain parallel processor architectures from superscalar, multi-core,
multi-processor to cluster. Extending this with numerical computing and staging/just-in-time compiling it to GPU makes
Elixir so much more powerful. Batching multiple GPU requests from different users into efficient sizeable chunks keeps GPU overhead
at bay.
And it has your back covered if a GPU is missing. It instead emulates the numerical computing
through an efficient and dedicated CPU library runtime if needed.
This GPU-to-CPU fall-back makes Elixir powerful and flexible throughout development, testing,
production to cloud servicing."
"Ariadve models its Machine Learning and AI workflow as a pipeline of: coding, modeling & training, learning & sharing,
applying & deploying and targeting. The transition of technical and organizational change needs to be carefully managed
for Machine Learning and its resulting AI to be successful. The measurement of business results should feed back into
a discipline of data science that gathers performance data and creates the right Machine Learning models accompanied by
representative training data and test sets. Only then can the resulting AI be applied and deployed to its proper
and advantageous business use."
Thanks for listening!
jvanbrummen@ariadve.eu