We propose static task allocation algorithms for the periodic tasks of a distributed real-time system. The cyclic task consists of task threads which may communicate and share resources. A graph partitioning process and a thread sequencing algorithm are applied to these threads to yield local schedules. The exact analysis is then obtained and further refinements are performed if the worst case response time of a task is greater than its deadline.