Mark Nicholson, VP of operations at Zemax Development Corporation, says there are computing options that can enhance software-based optical system design
Optical engineers have long used software to help design both optical components and systems. The advantages are well-known, and the ability to simulate the effects of minute adjustments in an optical design, without having to reconstruct it each time, saves thousands of man hours.
As the photonics industry continues to develop at such pace, the requirements of optical engineers have changed over time, and optical software packages have had to evolve to keep pace with technology developments. The complexity of the systems modelled has increased, and the range of criteria that advanced optical engineers need to be able to specify within a simulation is continually extending. In the never-ending quest for better performance and efficiency of an optical component, the need to tweak and adjust every parameter to achieve the best possible performance is an essential part of the optical design process. This leads to more and more simulations, each of which may be required to generate millions of ray traces, meaning such calculations could end up taking days even on modern workstation PCs with multiple CPUs.
A major step change in the field of computing is the introduction of virtual machines via services such as the Amazon Elastic Compute Cloud (EC2). These services offer additional computing power that can be used to run simulations, without tying up the resources of a local machine. Usually administered through a web browser, these services also offer access to multiple CPUs, providing multithreaded processing capability. This means that ray trace simulations can be split up among CPUs.
Several typical benchmark tests were run, using both well-specified real workstations and the EC2 cloud (figure 1). It is worth noting at this point that not all optical software packages are suited to this multi-threaded approach. Zemax, for example, was built from the ground up as a multi-threaded package, and can therefore take advantage of multi-threaded opportunities whenever they arise.
The virtual machines are suited to both the full-time optical designer and those that just turn to it from time to time. Time on such machines is usually billed at a low hourly rate – as little as a couple of dollars an hour. Indeed, such a set-up may pave the way for ’software as a service’, where rather than buying software off the shelf, occasional users may be able to rent a virtual machine.
There have also been barriers to entry for some optical engineers when it comes to selecting a software package. Firstly, there are several operating systems available, but not every software package has compatible versions.
However, virtualisation software – whereby a virtual machine in one operating system can run on a computer running a different operating system – has evolved to such a degree that many software packages can run effectively on any computer, regardless of the ‘real’ operating system. Popular virtualisation software, such as VMWare and Parallels Desktop, allows Mac users to run applications in Windows, with virtually no loss of performance. This opens up a choice of software options for optical engineers.
Running the same benchmarks on a dualcore MacBook Pro using BootCamp to boot to Windows 7 (which provides a baseline for the operating system running directly on the hardware) and running virtualised Windows 7 under VMware Fusion and Parallels Desktop gives the results shown in figure 2. The performance difference between real and virtual operating systems is negligible, and Zemax can be made to appear like a native MacOS app when used with the two virtualised OSes.
So, with the improved capabilities of optical software packages, the removal of any dependence on one particular operating system over another, and the availability of virtual machines to increase computing power and reduce simulation times, there has never been a better time to be an optical engineer.