Commit 6c360403 authored by Aggelos Giantsios's avatar Aggelos Giantsios

Invoke parallel version with appropriate command line arguments

parent 50937192
...@@ -8,9 +8,11 @@ module Bench( -- sequential benchmarks ...@@ -8,9 +8,11 @@ module Bench( -- sequential benchmarks
) where ) where
import Control.Distributed.Process import Control.Distributed.Process
--import qualified Control.Distributed.Process.Backend.SimpleLocalnet as SLN
import Control.Distributed.Process.Node import Control.Distributed.Process.Node
import Prelude hiding (seq) import Prelude hiding (seq)
import Network.Transport.TCP import Network.Transport.TCP
import System.Environment (getArgs)
import MasterWorker import MasterWorker
import Utils import Utils
...@@ -61,22 +63,56 @@ sz (mainStats : _) = ...@@ -61,22 +63,56 @@ sz (mainStats : _) =
Nothing -> "false" Nothing -> "false"
Just s -> "{size," ++ s ++ "}" Just s -> "{size," ++ s ++ "}"
select_par_bench :: String -> (Vertex -> GenClos) -> Vertex -> Int -> Process String
select_par_bench "True" = par
select_par_bench "False" = par_seq
select_par_bench _ = error "Invalid IWP Flag"
bench_args :: String -> (Vertex -> GenClos, Int)
bench_args "short" = (gg13, 11)
bench_args "intermediate" = (gg124, 157)
bench_args "long" = (gg1245, 157)
bench_args _ = error "Invalid Version"
main :: IO ()
main = do
args <- getArgs
case args of
-- Parallel Orbit
["par", iwp, version, w, host, port] -> do
let (gnrt, n) = bench_args version
Right t <- createTransport host port defaultTCPParameters
node <- newLocalNode t rtable
runProcess node $ do
let bench = select_par_bench iwp
res <- bench gnrt n (read w :: Int)
liftIO $ print res
-- Invalid configuration
_ -> do
putStrLn "Paraller Version"
putStrLn "Usage: ./orbit par [True|False] [short|intermediat|long] nWorkers host port"
where rtable :: RemoteTable
rtable = MasterWorker.__remoteTable initRemoteTable
{-
main :: IO () main :: IO ()
main = do main = do
Right t1 <- createTransport "127.0.0.1" "5050" defaultTCPParameters Right t1 <- createTransport "127.0.0.1" "5050" defaultTCPParameters
node1 <- newLocalNode t1 rtable node1 <- newLocalNode t1 rtable
{-
Right t2 <- createTransport "127.0.0.1" "5051" defaultTCPParameters Right t2 <- createTransport "127.0.0.1" "5051" defaultTCPParameters
node2 <- newLocalNode t2 rtable node2 <- newLocalNode t2 rtable
Right t3 <- createTransport "127.0.0.1" "5052" defaultTCPParameters Right t3 <- createTransport "127.0.0.1" "5052" defaultTCPParameters
node3 <- newLocalNode t3 rtable node3 <- newLocalNode t3 rtable
-}
runProcess node1 $ do runProcess node1 $ do
res <- par_seq gg1245 2512 32 --[localNodeId node1, localNodeId node2, localNodeId node3] res <- par_seq gg1245 2512 32 --[localNodeId node1, localNodeId node2, localNodeId node3]
liftIO $ print res liftIO $ print res
where rtable :: RemoteTable where rtable :: RemoteTable
rtable = MasterWorker.__remoteTable initRemoteTable rtable = MasterWorker.__remoteTable initRemoteTable
-}
{- {-
import qualified Control.Distributed.Process.Backend.SimpleLocalnet as SLN import qualified Control.Distributed.Process.Backend.SimpleLocalnet as SLN
import System.Environment (getArgs) import System.Environment (getArgs)
......
Markdown is supported
0% or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment