From 775013b82525c76783334e37201f59ec6012509d Mon Sep 17 00:00:00 2001 From: Sebastian Larsen Prehn Date: Wed, 16 Oct 2024 13:07:54 +0200 Subject: [PATCH] :sparkles: A6 --- a6/a6-handout/a6.cabal | 30 ++++ a6/a6-handout/runtests.hs | 5 + a6/a6-handout/src/GenServer.hs | 45 ++++++ a6/a6-handout/src/SPC.hs | 255 +++++++++++++++++++++++++++++++++ a6/a6-handout/src/SPC_Tests.hs | 15 ++ a6/a6.pdf | Bin 0 -> 80155 bytes 6 files changed, 350 insertions(+) create mode 100644 a6/a6-handout/a6.cabal create mode 100644 a6/a6-handout/runtests.hs create mode 100644 a6/a6-handout/src/GenServer.hs create mode 100644 a6/a6-handout/src/SPC.hs create mode 100644 a6/a6-handout/src/SPC_Tests.hs create mode 100644 a6/a6.pdf diff --git a/a6/a6-handout/a6.cabal b/a6/a6-handout/a6.cabal new file mode 100644 index 0000000..7bfb1e9 --- /dev/null +++ b/a6/a6-handout/a6.cabal @@ -0,0 +1,30 @@ +cabal-version: 3.0 +name: a6 +version: 1.0.0.0 +build-type: Simple + +common common + default-language: Haskell2010 + ghc-options: -Wall + +library + import: common + hs-source-dirs: src + build-depends: + base + , tasty + , tasty-hunit + , clock + exposed-modules: + SPC + SPC_Tests + GenServer + +test-suite a6-tests + import: common + type: exitcode-stdio-1.0 + main-is: runtests.hs + build-depends: + base + , tasty + , a6 diff --git a/a6/a6-handout/runtests.hs b/a6/a6-handout/runtests.hs new file mode 100644 index 0000000..efba441 --- /dev/null +++ b/a6/a6-handout/runtests.hs @@ -0,0 +1,5 @@ +import qualified SPC_Tests +import Test.Tasty (defaultMain) + +main :: IO () +main = defaultMain SPC_Tests.tests diff --git a/a6/a6-handout/src/GenServer.hs b/a6/a6-handout/src/GenServer.hs new file mode 100644 index 0000000..e70e18c --- /dev/null +++ b/a6/a6-handout/src/GenServer.hs @@ -0,0 +1,45 @@ +module GenServer + ( Chan, + Server, + receive, + send, + sendTo, + spawn, + ReplyChan, + requestReply, + reply, + ) +where + +import Control.Concurrent (Chan) +import qualified Control.Concurrent as CC + +data Server msg = Server CC.ThreadId (Chan msg) + +data ReplyChan a = ReplyChan (Chan a) + +send :: Chan a -> a -> IO () +send chan msg = + CC.writeChan chan msg + +sendTo :: Server a -> a -> IO () +sendTo (Server _tid input) msg = + send input msg + +receive :: Chan a -> IO a +receive = CC.readChan + +spawn :: (Chan a -> IO ()) -> IO (Server a) +spawn server = do + input <- CC.newChan + tid <- CC.forkIO $ server input + pure $ Server tid input + +requestReply :: Server a -> (ReplyChan b -> a) -> IO b +requestReply serv con = do + reply_chan <- CC.newChan + sendTo serv $ con $ ReplyChan reply_chan + receive reply_chan + +reply :: ReplyChan a -> a -> IO () +reply (ReplyChan chan) x = send chan x diff --git a/a6/a6-handout/src/SPC.hs b/a6/a6-handout/src/SPC.hs new file mode 100644 index 0000000..2f90853 --- /dev/null +++ b/a6/a6-handout/src/SPC.hs @@ -0,0 +1,255 @@ +module SPC + ( -- * SPC startup + SPC, + startSPC, + + -- * Job functions + Job (..), + JobId, + JobStatus (..), + JobDoneReason (..), + jobAdd, + jobStatus, + jobWait, + jobCancel, + + -- * Worker functions + WorkerName, + workerAdd, + workerStop, + ) +where + +import Control.Concurrent + ( forkIO, + killThread, + threadDelay, + ) +import Control.Monad (ap, forever, liftM, void) +import GenServer +import System.Clock.Seconds (Clock (Monotonic), Seconds, getTime) + +-- First some general utility functions. + +-- | Retrieve Unix time using a monotonic clock. You cannot use this +-- to measure the actual world time, but you can use it to measure +-- elapsed time. +getSeconds :: IO Seconds +getSeconds = getTime Monotonic + +-- | Remove mapping from association list. +removeAssoc :: (Eq k) => k -> [(k, v)] -> [(k, v)] +removeAssoc needle ((k, v) : kvs) = + if k == needle + then kvs + else (k, v) : removeAssoc needle kvs +removeAssoc _ [] = [] + +-- Then the definition of the glorious SPC. + +-- | A job that is to be enqueued in the glorious SPC. +data Job = Job + { -- | The IO action that comprises the actual action of the job. + jobAction :: IO (), + -- | The maximum allowed runtime of the job, counting from when + -- the job begins executing (not when it is enqueued). + jobMaxSeconds :: Int + } + +-- | A unique identifier of a job that has been enqueued. +newtype JobId = JobId Int + deriving (Eq, Ord, Show) + +-- | How a job finished. +data JobDoneReason + = -- | Normal termination. + Done + | -- | The job was killed because it ran for too long. + DoneTimeout + | -- | The job was explicitly cancelled, or the worker + -- it was running on was stopped. + DoneCancelled + | -- | The job crashed due to an exception. + DoneCrashed + deriving (Eq, Ord, Show) + +-- | The status of a job. +data JobStatus + = -- | The job is done and this is why. + JobDone JobDoneReason + | -- | The job is still running. + JobRunning + | -- | The job is enqueued, but is waiting for an idle worker. + JobPending + | -- | A job with this ID is not known to this SPC instance. + JobUnknown + deriving (Eq, Ord, Show) + +-- | A worker decides its own human-readable name. This is useful for +-- debugging. +type WorkerName = String + +-- | Messages sent to workers. These are sent both by SPC and by +-- processes spawned by the workes. +data WorkerMsg -- TODO: add messages. + +-- Messages sent to SPC. +data SPCMsg + = -- | Add the job, and reply with the job ID. + MsgJobAdd Job (ReplyChan JobId) + | -- | Cancel the given job. + MsgJobCancel JobId + | -- | Immediately reply the status of the job. + MsgJobStatus JobId (ReplyChan JobStatus) + | -- | Reply when the job is done. + MsgJobWait JobId (ReplyChan JobDoneReason) + | -- | Some time has passed. + MsgTick + +-- | A handle to the SPC instance. +data SPC = SPC (Server SPCMsg) + +-- | A handle to a worker. +data Worker = Worker (Server WorkerMsg) + +-- | The central state. Must be protected from the bourgeoisie. +data SPCState = SPCState + { spcJobsPending :: [(JobId, Job)], + spcJobsRunning :: [(JobId, Job)], + spcJobsDone :: [(JobId, JobDoneReason)], + spcJobCounter :: JobId + -- TODO: you will need to add more fields. + } + +-- | The monad in which the main SPC thread runs. This is a state +-- monad with support for IO. +newtype SPCM a = SPCM (SPCState -> IO (a, SPCState)) + +instance Functor SPCM where + fmap = liftM + +instance Applicative SPCM where + pure x = SPCM $ \state -> pure (x, state) + (<*>) = ap + +instance Monad SPCM where + SPCM m >>= f = SPCM $ \state -> do + (x, state') <- m state + let SPCM f' = f x + f' state' + +-- | Retrieve the state. +get :: SPCM SPCState +get = SPCM $ \state -> pure (state, state) + +-- | Overwrite the state. +put :: SPCState -> SPCM () +put state = SPCM $ \_ -> pure ((), state) + +-- | Modify the state. +modify :: (SPCState -> SPCState) -> SPCM () +modify f = do + state <- get + put $ f state + +-- | Lift an 'IO' action into 'SPCM'. +io :: IO a -> SPCM a +io m = SPCM $ \state -> do + x <- m + pure (x, state) + +-- | Run the SPCM monad. +runSPCM :: SPCState -> SPCM a -> IO a +runSPCM state (SPCM f) = fst <$> f state + +schedule :: SPCM () +schedule = undefined + +jobDone :: JobId -> JobDoneReason -> SPCM () +jobDone = undefined + +workerIsIdle :: WorkerName -> Worker -> SPCM () +workerIsIdle = undefined + +workerIsGone :: WorkerName -> SPCM () +workerIsGone = undefined + +checkTimeouts :: SPCM () +checkTimeouts = pure () -- change in Task 4 + +workerExists :: WorkerName -> SPCM Bool +workerExists = undefined + +handleMsg :: Chan SPCMsg -> SPCM () +handleMsg c = do + checkTimeouts + schedule + msg <- io $ receive c + case msg of + MsgJobAdd job rsvp -> do + state <- get + let JobId jobid = spcJobCounter state + put $ + state + { spcJobsPending = + (spcJobCounter state, job) : spcJobsPending state, + spcJobCounter = JobId $ succ jobid + } + io $ reply rsvp $ JobId jobid + MsgJobStatus jobid rsvp -> do + state <- get + io $ reply rsvp $ case ( lookup jobid $ spcJobsPending state, + lookup jobid $ spcJobsRunning state, + lookup jobid $ spcJobsDone state + ) of + (Just _, _, _) -> JobPending + (_, Just _, _) -> JobRunning + (_, _, Just r) -> JobDone r + _ -> JobUnknown + +startSPC :: IO SPC +startSPC = do + let initial_state = + SPCState + { spcJobCounter = JobId 0, + spcJobsPending = [], + spcJobsRunning = [], + spcJobsDone = [] + } + c <- spawn $ \c -> runSPCM initial_state $ forever $ handleMsg c + void $ spawn $ timer c + pure $ SPC c + where + timer c _ = forever $ do + threadDelay 1000000 -- 1 second + sendTo c MsgTick + +-- | Add a job for scheduling. +jobAdd :: SPC -> Job -> IO JobId +jobAdd (SPC c) job = + requestReply c $ MsgJobAdd job + +-- | Asynchronously query the job status. +jobStatus :: SPC -> JobId -> IO JobStatus +jobStatus (SPC c) jobid = + requestReply c $ MsgJobStatus jobid + +-- | Synchronously block until job is done and return the reason. +jobWait :: SPC -> JobId -> IO JobDoneReason +jobWait (SPC c) jobid = + requestReply c $ MsgJobWait jobid + +-- | Asynchronously cancel a job. +jobCancel :: SPC -> JobId -> IO () +jobCancel (SPC c) jobid = + sendTo c $ MsgJobCancel jobid + +-- | Add a new worker with this name. Fails with 'Left' if a worker +-- with that name already exists. +workerAdd :: SPC -> WorkerName -> IO (Either String Worker) +workerAdd = undefined + +-- | Shut down a running worker. No effect if the worker is already +-- terminated. +workerStop :: Worker -> IO () +workerStop = undefined diff --git a/a6/a6-handout/src/SPC_Tests.hs b/a6/a6-handout/src/SPC_Tests.hs new file mode 100644 index 0000000..113d738 --- /dev/null +++ b/a6/a6-handout/src/SPC_Tests.hs @@ -0,0 +1,15 @@ +module SPC_Tests (tests) where + +import Control.Concurrent (threadDelay) +import Control.Monad (forM, forM_, replicateM) +import Data.IORef +import SPC +import Test.Tasty (TestTree, localOption, mkTimeout, testGroup) +import Test.Tasty.HUnit (assertFailure, testCase, (@?=)) + +tests :: TestTree +tests = + localOption (mkTimeout 3000000) $ + testGroup + "SPC (core)" + [] diff --git a/a6/a6.pdf b/a6/a6.pdf new file mode 100644 index 0000000000000000000000000000000000000000..b85d21082fcbbdb1b874d18b7a9fa924f3d4e72b GIT binary patch literal 80155 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®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