Our custom processors will provide significant advantage only if the system is a good fit. The target audience in terms of applications are complex, long running computations. Even then, only the core calculation would be converted, the rest of the application (screens, interfaces, database access) would remain in software. In general, database reporting systems, trading systems (other than the risk/pricing module), reconciliation systems and user based systems are not good candidates.
Should you need general system performance tuning expertise, we can provide that too. Having spent many years tuning and improving large systems in the City, we can provide consultancy to help alleviate bottlenecks and limitations.
A Monte Carlo simulation that requires many iterations is a good fit.
Many firms use this technology. The core technique has been around for years in consumer electronics, telecoms and the scientific community. However, it is only recently that the chips have had enough capacity (since in effect the whole program is stored inside the chip) to be useful for more general purpose software.
Yes, a full consultancy service is available to determine possible candidate systems and analyse suitable algorithms. Of course, full discretion and NDA agreements are available, since we understand the potential business advantages and sensitivities of using this technology.
Conversion time, like any complex project, is very dependent on exact requirements. However, we are constantly building libraries of common routines that help accelerate timescales. Timescales are roughly comparable to software projects.
The costings for hardware purchase and hosting are approximate, but realistic. Algorithm conversion costs are not included and will be somewhat higher than software (though since so much performance comes as part of the solution, tuning is reduced).
Comparison with big iron (ie large machines / mainframes) is favorable in terms of purchase and maintenance costs.
Comparison with PCs (ie 1 or 2 cpu PCs/blades) is favorable in terms of hosting and maintenance costs.
A variety of options are available, from an internet based service to purchasing hardware outright and licensing the dedicated processor designs. Licensing can be usage based (for example per transaction) or time based (for example a flat rate per month). Combinations are also possible. Please contact us to discuss.
It's a chip that can be used as a dedicated co-processor, where a program, rather than being a list of instruction for a CPU, is converted into a digital logic design, which performs the same function.
The chip is composed of small blocks of logic gates. When you design a program for it (or rather create a hardware design), you configure the logic blocks to perform the desired algorithm rather than using a standard processor.
No. The fpga(s) will reside (typically) on a PCI (or some bus variant) card, similar to a graphics or sound card.
It's both. The design process is similar in many ways to writing software - indeed the languages can look very similar - however, there is an extra level of complexity, since in fact you are configuring gates that have non-uniform characteristics (such as propagation effects, clock skew, bounce etc). It's a hardware design, but with software flexibility and turnaround.
That's a bit more complicated. Essentially the chip doesn't need to wait for instructions (the program, and potentially data) to be fetched from main memory, so can run at full hardware speeds. In addition, the chip can process many instructions simultaneously, which massively increases throughput.
As people in the industry have been saying for a while, clock rate isn't that important. For example, to multiply two 32 bits numbers together and add to a total (MAC instruction) might take a CPU 4 cycles at 2 GHz. On an fpga, it might also take 4 cycles at 500MHz. However, the fpga can deliver a result every clock cycle. Also, the fpga doesn't have to wait for memory access (in effect) and can do multiple things at once.
Yes, there are various student and trial kits available. In order to develop a system, you will need a synthesis tool (and probably a simulator too); board vendors can help you there. NB you need to be aware of digital logic design and its issues in order to go down this road.