2013年4月2日 星期二

LLVM + ZeroMQ = Remote Compiler flow plan

flow plan

  • portable for different platform (client arm, server x86) balance tasks
    • arm for low power mobile device
    • x86 for high performance server device
  • using zeroMQ to our communication handshaking
    • balance the loading
    • multi protocols(TCP/UDP)
    • distribution communication
    • internal broadcast
  • client part
    • method
      • application to llvm byte code or llvm-IR
      • pull llvm byte code or llvm-IR to server by zeroMQ request
      • get server response when the pull-task is done by zeroMQ response
    • require
      • llvm compiler
  • server part
    • method
      • get llvm byte code or llvm-IR from client request
      • do task reassign based on it's server utility, like 2cores CPU(client) to 64 cores CPU(server)
      • put result to client
    • require
      • listen port to link client request
      • byte / IR ADT remap to physical hardware
      • multi requests/ multi tasks balance timeout issue
      • llvm compiler

沒有留言:

張貼留言