back to Fabio🤌🤌🤌

Cards (19)

  • Resource allocation graph: shows state of system to see if there is deadlock or not
  • process pointing to resource = wants, resource pointing to process = owned by
  • No cycles in RAG = no deadlock
  • if cycles in RAG and only one instance per resource = deadlock
  • if RAG has cycle but several instances per resource then there may yet be hope
  • no deadlock as P2 will finish
  • Amdahl's law = how much performance gain is achievable by parralleling. max relative speed up - old execution time / optimised execution time . (base 'improvement' factor before optimisation = 1)
  • deriving Amdahl: total execution time = time for serial + time for paralisable. ergo p = t - s. p can be split by cores so newP = p/cores = (t - s)/c. The k serialisable optimisation factor also slims down s by k so t(k,n) = s/k + p/n
  • L improvement bound is ratio of old time over better time = total time / optimised serial + divided parallelisable = the factors x the ratio of time their respective parts were taking of the total
  • if there was no serialisable part (100%) parrallelisable, the increase in performance would be linear
  • strongly connected = just all connected, terminal = no outside connections
  • stm = software transactional memory
  • data parrallellism = the data not the actions are protected
  • transaction handling: a transaction symbolises a unit of work that is processed in a reliable, independent way by the database
  • reliable = allow correct recovery from failures
  • stm = a pattern to achieve data parallelism
  • stm flow: identify data needed in memory and log. take copy. change copy. commit copy atomically to memory, discard and retry if fail
  • stm stilll has issues with starvation, fairness and ensuring an end result
  • use a texandouble to do balance instead idk