Numerate, Inc. is a Bay Area company developing a computational platform for the design of small molecule drugs. We use this platform to deliver novel, potent, and selective lead candidates for our internal programs, our subsidiaries, and to our partners in the pharmaceuticals, biotechnology, agriculture and defense industry. The purpose of this site is to discuss some of the more interesting technical challenges that we have observed and addressed during the ongoing development of our platform.
We made some significant engineering decisions early in the companies history that have shaped our efforts since. For example, all of our development is in Java and has been since late 2000. This decision has raised a lot of eyebrows over the years – Java is not exactly a traditional language for scientific computing, and had substantial performance issues in 2000. However, we have found that the benefits in terms of developer productivity have more than made up for reductions in computational efficiency and that as the quality of JVMs has improved the performance gaps have become negligible.
We also use large scale cloud based compute resources. We have been using the cloud since our founding in 2007. At the time AWS was just getting started and only had two products (EC2 and S3). Since then we have run many large jobs on AWS and continue to push our system and AWS’s to achieve higher throughput and lower cost. Because our workloads are different from those for which the Map-Reduce framework is aimed, we were forced to develop a custom platform from the ground up.
Over the next few posts we will provide a brief introduction to Numerate’s technology platform in order to frame future posts. In future posts, we will present some of our experiences and observations on Java as a language for scientific compute and how we use large scale compute and the cloud to address “synchronous”, latency-sensitive, high compute-density, scientific compute problems. Beyond that our technology team will use this blog to discuss our perspectives on other challenges we have faced, solved, or endured.