Home > Features > 8.Multi-threaded computing

Multi-threaded computing


On the contrary to network computing, multi-threaded computing means multiple executions of a client program (or module) in a computer. The technology actually improves overall performance maximizing CPU usage. Modern computer OS (operating system) such as Microsoft Windows or Linux splits computer resource such as CPU and RAM and distributes the resource to each program for multi-tasking. Due to the reason, OS tends to reduce a performance of single software. For example, although Visual Gene Developer is busy to calculate lots of functions, it doesn't use all CPU resource because Windows assigns one of threads (not exact but for a simple explanation) to single software and doesn't allow 100% occupation of CPU process. To overcome the problem, multi-threaded computing technology was adopted to the software. Our software can execute additional clients on different threads and make use of all CPU and RAM resource as much as it can. Internally,  although Visual Gene Developer utilizes network computing module for multi-threaded computing, it  works slightly differently from the network computing.


o Network connection

Because a server and clients don't interfere each other, a user can use only server, only clients, or both of them. At the same time, clients can be connected to different servers using different IP address and port number. However, do not execute multiple Visual Gene Developer  on a computer. Duplicate runs will cause software error due to duplicate accesses to single thread.


1. Click on the 'Add Client' in the 'Network computing' menu.

     You can see the first client window

     Again click on the 'Add Client' in the 'Network computing' menu THREE TIMES.

     In that way, you can make 4 active clients.

2. Input Host IP address and Port number

    We assume that you are already executing Visual Gene Developer and activated a server on the same computer or on a remote computer

    The IP address shown in the figure is a dynamic address. With regard to dynamic IP address, check 'Static vs. dynamic IP address' section in the below.

3. Click on the 'Connect' button

4. If you want to repeat connection every 1 minutes, click on the 'Automated re-connection every 1 minute' button.

5. To remove clients, click on the 'Shutdown all clients' in the 'Network computing' menu

6. Or, click on the exit (X) button to deactivate a client one by one.


o NetComService class for module development


The software provides multi-threaded computing service in the class level. It helps users control network connection and develop new modules to utilize clients. For more details, check 'Module development' section in the left menu. 


o Static vs. dynamic IP address


In order to be connected to server, client side needs to know server's IP address and port number. If you have static IP address (for example, wire connected internet in a college) in a server computer, there is no problem regarding network connection. However if your server IP address is dynamic (for example, internet connection provided by internet service companies) or are using wire/wireless routers, only local  client computers that are connected to the same router can be connected to a  local server. However, it is not necessary for clients to have static IP address. Only server computer's IP address is important. Of course, there are alternative ways to use dynamic IP address for your server. Please search web by yourself.