Multi-core capability speeds control of complex systems
Opportunities for improved control are emerging from system design software optimised for multicore processors. Tom Shelley reports
New system design software for control systems has been optimised for multicore processors. This means control systems can now be run much more efficiently, with tighter control loops, and opening up new possibilities.
LabView 8.5 has been optimised to make use of multicore processors, fast becoming the norm for both PCs and embedded control systems. Two cores are widely in use today, although four is soon likely to be the norm – and Intel has pledged to have 80-core processors available by 2011.
According to John Pasquarette, National Instruments director of software marketing: “Multicore systems require different programming strategies. You have to create multi-threaded applications.”
This means breaking down software applications into different tasks and routing them to individual processors or processor cores, so they can work on them in parallel.
At a recent launch event, a slightly unbalanced motor was demonstrated, producing vibrations that were being picked up by an accelerometer, where one processor core was undertaking root mean square calculations and the other was undertaking a Fast Fourier Transformation to extract frequency information. Thus it was possibly to speed up computation by 44% over routing everything through a singe core. In terms of scheduling threads, Microsoft Windows seems to do okay, according to Pasquarette, although not everyone takes that view. It was LabView that actually introduced multi threading in 1998. However, for maximum and optimum performance, it is necessary to take charge of what part of a job is being undertaken by which processor.
Applications that have benefited include data acquisition and system control. One of the most challenging applications being undertaken is at the Max Planck Institut fur Plasmaphysik at Garchen, near Munich, where the real-time control of plasmas in fusion power generators is being researched. If fusion power is ever to become a reality, the generators have to be run continuously, which has not hitherto proved possible because of plasma instabilities that can surface in microseconds. The team has developed a special plasma control application called Starwall that they are applying to both tokomak and stellerator reactor configurations. Both devices use ring-shaped magnetic fields and plasmas that have to be heated to millions of degrees in order to ignite. Tokomaks produce part of these fields by means of an electric current flowing in the plasma, while stellerators form the magnetic field cage solely by means of external coils, Stellerators are thus more suitable for continuous operations, whereas tokomaks without auxiliary facilities can only work in pulsed mode. The application was developed with the help of LabView and needs to run on an 8-core system.
It is possible to construct multi-threaded applications using C. However, apart from the more trivial applications, these soon become impossibly complicated. For embedded applications, LabView has developed a Real Time Operating System that works without Windows. Using the LabView programming environment and RTOS, it is possible, for example, to ensure that critical parts of an application are routed through a particular processor core that is isolated from having to perform any other function. A typical platform is a chassis with multiple PXI cards, with X86 processors. Programming is greatly assisted using a new Real Time Execution Trace Toolkit which is ‘multicore aware’.
Pointers
* LabView 8.5 has been optimised for multi-core applications
* A Real Time Operating System allows such applications to be optimally run, without using Windows
* Programming is greatly assisted by a new Real Time Execution Trace Toolkit, which is ‘multicore aware’