VIRTUAL  MACHINES  AND  COMPILERS

These techhologies are our core specialization

3-Eng Java baner

We executed testing of all Java Virtual Machine  (JVM) from Sun Microsystem, developed  programming tools, launched 14 releases of conformance suite JCK in partnership with manufacturer. This experience is succesfully applied to imlementation of  system software projects.

Implementation of Java for Elbrus architecture (Moscow, since 2011)

Port of Java platform to original VLIW architecture of Russian CPU family Elbrus. It is a fully secure implementation, free of malicious logic and backdoors in hardware and software, that supports all built-in security features of native Java. Already more than 10 versions has been launched with consistently increased performance. Porting new Java-based libraries and applications is complementary activity.

Features:

  • Developed on the base of OpenJDK JVM
  • JIT (just-in-time) compiler is implemented optimized for Elbrus platform
  • Special  libraries are ported for Elbrus architecture (EML, OpenCV, etc.)
  • Set of widely spread open source Java applications are ported and demonstrate high effectiveness (Apache Tomcat, Apache Derby, Eclipse, Apache Jmetter, NetBeans, etc.)

Technologies:
J2SE class libraries (OpenJDK), Java virtual machines, Just-In-Time compilers, C, C++

Implementation of JavaScript for Elbrus architecture (Moscow, since 2016)

Porting of open source runtime environments for JavaScript on Elbrus platform is going in few directions. These are V8 (from browser Chrome) и SpiderMonkey (from browser FireFox). The SpiderMonkey virtual machine is already operating within Elbrus-adapted browser FireFox, two versions has been launched so far. And ported V8 machine is functioning at Node.js platform, being implemented in several consistently improving versions.

Features:

  • Porting and adaptation of legacy compilers and interpreters
  • Validation of correct processing all of functions
  • Optimization of quality of the code generated by the compilers
  • Performance improvement
  • Study of the effective compilation of a dynamically typed language for VLIW CPU architecture

Technologies: Chromium, Firefox, C/C++, node.js, asm.

Porting of С# virtual machine to Elbrus platform (Moscow, since 2016)

Implementation of C#  language support for Elbrus hardware platform. The project is based on Mono project, which realizes .NET Framework-compatible set of tools (C # compiler, Common Language Runtime virtual machine, etc.). There has been released several versions so far.

Technologies: Common Language Runtime (CLR), .NET Framework, Just-In-Time compilers, Ahead-Of-Time compilation, LLVM, C#, C, C++, Assembler

Custom implementation of J2SE platform (Ireland, 2011-2015)

Implemented JVM is a cornerstone of Customer’s patented Java server virtualization technology specifically tailored to x86 enterprise application environments. The technology features high reliability and performance with superior cost-efficiency and manageability. Various Java applications are operating on this technology stack automatically and transparently. Customer built a portfolio of services and products around isolated Java Containers running within single JVM instance. JVM performance is competitive to contemporary Oracle JDK.

Features:

  • technology utilizes arbitrary inexpensive, off-the-shelf servers, assuring the lowest possible cost of entry
  • hot-swappable, can work in fully redundant mode to tolerate failures
  • technology is embedded under the covers, no apps re-engineering is required
  • the Java platform implementation allows to switch between available class libraries on startup

Technologies:
Apache Harmony DRLVM, J2SE class libraries (OpenJDK), Java virtual machines, Just-In-Time compilers, Garbage Collectors; C, C++; Mercurial, TeamCity, etc

Implementation of testing frameworks for J2SE API libraries (Sun Microsystems, 199х -20хх)

Extensive work with a wide range of Java API libraries led to the strongest experience in this area of ~ 60 man-years. Libraries covered:

  • Core Java packages (java.lang and subpackages)
  • Basic mathematics API
  • Java Management Extension API (javax.management)
  • Sound API (javax.sound)
  • Printing API (javax.print)
  • XML processing (DOM, SAX) API
  • Image I/O API (javax.imageio)
  • Java utility API (java.util)
  • Networking API (java.net)
  • Java I/O API (java.io, java.nio)
  • Implementation of CJK and other character encodings
  • Java security API (JAAS, JCE, JSSE)
Fortran 77/90/95/F2K compilers (for several vendors, 199х-20хх))

  • front-ends and back-ends development
  • development of new and missing features
  • optimizations of various performance issues

 

Conformance Testing projects for Java platform  are described here.