Jun
21

Getting Ready for NeoTicker 4.30 Part 2

2nd installment on the changes in NeoTicker 4.30 that will help users utilize their computers and data services in ways never possible before.

Windows 7 64-bit and Memory Utilization Beyond 2G

32-bit Windows limits its users upto 3G of total usable memory (i.e. RAM), and applications can only use upto 2G. That is a lot for basic usage, but of a power user of NeoTicker that may not be enough.

I have said many years ago in our forum that upcoming computers will no longer keep running at faster speed, purely based on increase in CPU processing cycles, but focuses on having more CPUs and memory usage per computer. That means, multitasking within an application and the ability to utilize grid computing will be the future. And now here it is, we have seen 64-bit OS, CPU going from dual core, quad core, to 8 cores, etc. with RAM at 8G, 16G, 32G, and more.

How to best utilize that? That is a very good question and most software companies would opt for the simplest way out – to recompile the applications to run in 64-bit mode to utilize the extra memory. The simplest answer is not the best solution from our study of workflows on many traders. It helps, but not necessary a complete solution to better utilize the technologies available nowadays.

Our ideas on better utilizing the latest computer hardwares go way beyond.

Threading vs Multiple Instancing

One main issue with Windows is that threads within an application would get a slice of CPU time for processing whatever you assigned that to do, at a fraction of the total time allocated to that application. That means, if you have many threads created within an application, its performance will be limited by rules from within Windows. An example of a heavily threaded application is NeoTicker. It’s real-time tick data processing and other tasks are separated into multiple threads to better utilize the multiple cores in modern computers.

It works very well, if the user’s intention to use NeoTicker is single purpose. i.e. Just one of the following – real-time trading, trading simulation, backtesting, indicator development, etc.

What if the user’s intention include multiple purposes at the same time? That is where multiple instancing comes in play.

An application written with multiple instancing in mind, will allow the user to run multiple instances of the application at the same time, each one responsible for a particular purpose. A good example of such design is the newer generations of Microsoft Excel. The multiple instances of Excel separates and isolates the computation requirement of the workbooks you opened in each instances, giving you the ability to work with them as separate applications.

The disadvantage with Excel on this front is that Excel does not provide a proper framework to further the isolation for each instance. Excel share its global settings across the instances, making it possible to overwrite important settings you do not wish to change within another instance.

NeoTicker 4.30 will be multiple instancing ready, with features managing the configurations of each instance separately. Thus, all the advantage you have seen in other multiple instancing applications like Excel, and non of their weaknesses.

Benefits of Multiple Instancing

Breaking the 2G Barrier With multiple instancing, NeoTicker can divide its heavy duty workload with each instance carrying out a specific task for the user. If you have 32G RAM, you can use them all.

Multiple Connections to Same/Different Data Services For data vendors allowing multiple connections from 3rd party applications like eSigal, IQFeed, etc. Imagine being able to connect to them multiple times, at the same time, and also connecting to multiple brokerages. Or, running one instance of NeoTicker connected to your real-time data service while connected to Sim Server in another instance.

Isolation or Integration of Indicators and Trading Systems There are times you wish you could isolate NeoTicker to use a certain set of indicators and systems with a particular brokerage connection. While there are other times you want to share your indicator sets across multiple instances of NeoTicker. You can now do that with ease.

Isolation of Indicator and Trading Model Development from Real-Time Market Tracking When you are developing indicators and trading models, there are times you want to use VC#, VC++, Visual Basic.Net, Delphi, etc. where you can stop the application and learn what is happening through the debugger. That, however, will block NeoTicker from running normally. Should you be interested in collecting real-time data from your data source, or, if you are collecting UDS or NeoBreadth data, this is not very desirable. With multiple instancing, you no longer need to worry about this issue and can leave your data collection instance of NeoTicker alone and work on your coding separately.

Grid Optimization on Multiple Instances Think about immediate boost of optimization speed in the order of 10x or more on a single high-end computer. And now, multiply that by the number of computers having NeoTicker within your network. A true powerhouse in optimization technology will be available at your finger tips.

Opening Up the Possibilities

Multiple instancing in NeoTicker is just a starting point in utilizing the concept. Features will be added, for example, to allow communications across these running instances of NeoTicker, making it possible to do things never seen before.

I am very excited about this feature and I am sure all power users will too.

Blog Developed
By ContentRobot