{"id":951,"date":"2007-08-13T05:10:03","date_gmt":"2007-08-13T05:10:03","guid":{"rendered":"http:\/\/www.amibroker.org\/userkb\/2007\/08\/13\/951\/"},"modified":"2012-08-17T11:03:49","modified_gmt":"2012-08-17T11:03:49","slug":"951","status":"publish","type":"post","link":"http:\/\/www.amibroker.org\/editable_userkb\/2007\/08\/13\/951\/","title":{"rendered":"IO – Distributed Processing"},"content":{"rendered":"

This page is obsolete. Current versions of AmiBroker feature built-in non-exhaustive, smart multithreaded optimizer and walk-forward engine.<\/font><\/b><\/p>\n

<\/a><\/a>For the purposes of running distributed processing with IO<\/em>, an IO<\/em> server need be nothing more than another Windows 2000 or above machine on the same local area network.\u00a0 Hereinafter the machine actually running IO<\/em> will be referred to as the Client and all other machines as Servers to the Client.\u00a0 This is sort of bass ackwards in terms of how one normally thinks of a Client \/ Server relationship where one Server typically serves the needs of many potential Clients.\u00a0 Here we will have potentially many Servers at the beck and call of one Client i.e. the one running IO<\/em>.<\/p>\n

As can be seen from the chart of relative run times below, for a relatively fast single tradable\u00a0system, optimizations of the same system on zero to nine additional machines result in\u00a0huge gains in productivity\u00a0by utilizing additional machines.\u00a0 Results will be even larger when processing Watch Lists as the amount of overhead drops relative to the amount of time required to process an optimization generation.<\/p>\n

\"io-servers.png\"<\/a><\/p>\n

In general IO<\/em> uses\u00a0Windows sockets for all\u00a0communication between the Client and Servers where a small IO<\/em>Server program runs awaiting orders from the client, but will also use shared disk to move large\u00a0amounts of data like symbol databases at the beginning of new runs.\u00a0 The setup is very simple and can be performed by anyone who knows nothing more about networking then how to connect two machines through a router or switch.\u00a0 Below is a block diagram of the typical setup and interaction:
\n
\"io-servers-block.png\"<\/a><\/p>\n

IO<\/em> also handles the following potential issues:<\/p>\n

\u00a0\u00a0\u00a0 –\u00a0\u00a0\u00a0\u00a0 Different\u00a0Machine \/ CPU speeds are\u00a0dealt with by a routine that will dynamically balance the load from one generation to the next between the client and servers to ensure that the most productiveity is obtained from all participating machines.\u00a0 This can be seen in the screen scrape below with the Servers ( Work Flow ) window open showing the load allocation by machine and relative optimization times.<\/p>\n

\"io-servers2.png\"<\/a><\/p>\n

\u00a0\u00a0\u00a0 –\u00a0\u00a0\u00a0\u00a0There is no need to duplicate databases from the client to the servers as IO will automatically perform this function saving data to its own database on the servers thus not interfering with whatever databases the user may already have set up.<\/p>\n

\u00a0\u00a0\u00a0 –\u00a0\u00a0 \u00a0There is no need to manually adjust AA Settings on the servers as IO will clone the settings in play on the client to the servers as part of its own automated initial\u00a0setup for client \/ server operation.<\/p>\n

These\u00a0are advanced\u00a0features in IO<\/em>.<\/p>\n

A\u00a0shareware version of IO<\/em> with full documentation can be found in the AmiBroker Files Section …
\n
http:\/\/groups.yahoo.com\/group\/amibroker\/files\/IO.zip<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"

This page is obsolete. Current versions of AmiBroker feature built-in non-exhaustive, smart multithreaded optimizer and walk-forward engine. For the purposes of running distributed processing with IO, an IO server need be nothing more than another Windows 2000 or above machine on the same local area network.\u00a0 Hereinafter the machine actually running IO will be referred […]<\/p>\n","protected":false},"author":14,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":[],"categories":[115],"tags":[],"_links":{"self":[{"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/posts\/951"}],"collection":[{"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/users\/14"}],"replies":[{"embeddable":true,"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/comments?post=951"}],"version-history":[{"count":2,"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/posts\/951\/revisions"}],"predecessor-version":[{"id":3495,"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/posts\/951\/revisions\/3495"}],"wp:attachment":[{"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/media?parent=951"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/categories?post=951"},{"taxonomy":"post_tag","embeddable":true,"href":"http:\/\/www.amibroker.org\/editable_userkb\/wp-json\/wp\/v2\/tags?post=951"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}