Scheduling for Hardware-Software Partitioning In
Total Page:16
File Type:pdf, Size:1020Kb
Scheduling for Hardware-Software Partitioning in Embedded System Design by Daniel Wayne Engels B.S., EECS, State University of New York at Buffalo (1992) M.S., EECS, University of California, Berkeley (1995) Submitted to the Department of Electrical Engineering and Computer Science in partial fulfillment of the requirements for the degree of Doctor of Philosophy at the MASSACHUSETTS INSTITUTE OF TECHNOLOGY June 2000 @ 2000 Massachusetts Institute of Technology. All rights reserved. MASSACHIUSET1TS INSTITUTE OF TECHNOLOGY JUN 2 2 2000 / .e LIBRARIES Author.. .. .. .. ..............o... Departmer of FVetr1$cal. Enilg. ieering... and Computer Science (I rC, 17 May 2000 Certified by....... Srinivas Devadas Professor of Electrical Engineering and Computer Science -T-4esis Supervisor Accepted by......... ... .. Professor Arthur C. Smith Chairman, Departmental Committee on Graduate Students -. -.,.ri,-.-- - ..... -,.. .. .- a- -- Scheduling for Hardware-Software Partitioning in Embedded System Design by Daniel Wayne Engels Submitted to the Department of Electrical Engineering and Computer Science on 17 May 2000, in partial fulfillment of the requirements for the degree of Doctor of Philosophy Abstract I present a new approach that solves the hardware-software partitioning problem for small embedded systems. Small application specific digital systems, often referred to as embedded systems, are often implemented using both hardware and software. Due to the impact that the hardware-software partition of the system functionality has on the system performance and cost, determining an optimal or near optimal hardware- software partition is essential to building a system that meets its performance criteria at minimal cost. My approach to solving the hardware-software partitioning problem is based on transforming an instance of the partitioning problem into an instance of a deterministic scheduling with rejection problem that minimizes a function of the completion times of the tasks. Although this scheduling problem is strongly AlP-hard, it has been studied extensively, and several effective solution techniques are available. I leverage these techniques to develop an efficient and effective hardware-software partitioning scheme for small embedded systems. In addition to the new partitioning scheme, I present new complexity bounds for several variants of the scheduling problem. These complexity bounds illustrate the usefulness and futility of modifying the system characteristics to obtain a more easily solved scheduling problem formulation. Thesis Supervisor: Srinivas Devadas Title: Professor of Electrical Engineering and Computer Science 4 In Memory of Lester and Margaret 6 Acknowledgments The question was innocent enough. "Which will you later regret not doing?" Simple. Direct. And a revelation. That simple question held the wisdom only a father could give to his son: What you don't do in life matters just as much as what you do. And the answer to it changed my life. Instead of joining the real-world, I went to graduate school. I have no regrets. None. Thank you, dad. Your simple question changed my view of life and led to this dissertation. Throughout my tenure as a gradual student, many people contributed both di- rectly and indirectly to my growth as both a human being and a scholar. What these people have given me I could never repay. I only hope that the following adequately expresses my most sincere gratitude for their help and guidance. I must begin by thanking my advisor, Professor Srinivas Devadas, for all that he has done for me. He took me in like a lost puppy: giving me food, shelter, and a computer to work on before I joined M.I.T. His support, even through unproductive times, gave me strength and allowed me to grow. I must also thank David Karger, my de facto theory advisor and one of my read- ers for this dissertation. David's help and insight into theoretical arcana strongly influenced the theoretical results of this dissertation. He also instilled in me a great respect and love of the theoretical computer science world. I thank Larry Rudolph, my second reader for this dissertation, for his refresh- ingly practical views on my research and our discussions on the fascinating topic of multiprocessor scheduling. The other members of Srini's Computer Aided Automation Group made my time at M.I.T. fun and enjoyable. Silvina Hanono proved to be the best office-mate a person could have. She was always available to discuss any topic, and she gave me quiet and space when I needed it. She has proven herself to be a wonderful friend, and I look forward to many years of her continued friendship. George Hadjiyiannis, the original 'Smoky,' was always available to discuss any research topic (wink, wink, nudge, nudge), and his extensive knowledge on just about every topic never failed to 7 amaze me. Farzan Fallah and Sandeep Chatterjee provided hours of fun just hanging out and telling jokes (Q: What's red, black, and blue and sits in a corner? A: Dead baby. Q: What's red, black, blue, and green and sits in a corner? A: Same dead baby two weeks later.). I would also like to thank the remaining members of the group, Prabhat Jain and Todd Mills. They have helped to make my time here pleasant and enjoyable. My friends, Gitanjali Swamy and her husband, Sanjay Sarma, have provided hours of fun, relaxation, and encouragement, as well as interesting research problems. I look forward to their continued friendship and company in the years to come. I give special thanks to my wife, Adriana. She has suffered through years of my gradual work. In the years to come, I hope to show her that her suffering was worthwhile. Most importantly, I thank my parents. My mother, Georgia, and my father, Keith, have always supported me in all of my endeavors. Their support and love have meant the world to me. *Send general abuse to Stephen Edwards. 8 Barber .. .I wanted to be a lumberjack. Leaping from tree to tree as they float down the mighty rivers of British Columbia... (he is gradually straightening up with a visionary gleam in his eyes) The giant redwood, the larch, the fir, the mighty scots pine. (he tears off his barber's jacket, to reveal tartan shirt and lumberjack trousers underneath; as he speaks, the lights dim behind him and a choir of Mounties is heard faintly in the distance) The smell of fresh-cut timber! The crash of mighty trees! (moves to stand in front of back-drop of Canadian mountains and forests) With my best girlie by my side... (a frail adoring blonde, the heroin of many a mountains film, or perhaps the rebel maid, rushes to his side and looks adoringly into his eyes) We'd sing. sing. sing. The choir is loud by now and music as well. Barber (singing) I'm a lumberjack and I'm OK, I sleep all night and I work all day. Lights come up to his left to reveal a choir of Mounties. Mounties Choir He's a lumberjack and he's OK, He sleeps all night and he works all day. Barber I cut down trees, I eat my lunch, I go to the lavatory. On Wednesday I go shopping, And have buttered scones for tea. Mounties Choir He cuts down trees, he eats his lunch, He goes to the lavatory. On Wednesday he goes shopping, And has buttered scones for tea. He's a lumberjack and he's OK, He sleeps all night and he works all day. Barber I cut down trees, I skip and jump, I like to press wild flowers. I put on women's clothing And hang around in bars. Mounties Choir He cuts down trees, he skips and jumps, He likes to press wild flowers. He puts on women's clothing And hangs around in bars.. .? During this last verse, the choir has started to look uncomfortable, but they brighten up as they go into the chorus. Mounties Choir He's a lumberjack and he's OK, He sleeps all night and he works all day. Barber I cut down trees, I wear high heels, Suspenders and a bra. I wish I'd been a girlie, Just like my dear Mama. Mounties Choir (starting hastily as usual but tailing off as they get to the third line) He cuts down trees, he wears high heels, (spoken rather than sung) Suspenders... and a bra?... They all mumble. Music runs down. The girl looks horrified and bursts into tears. The choir start throwing rotten fruit at him. Girl Oh Bevis! And I thought you were so rugged. 9 10 About the Author Daniel Wayne Engels was born in the untamed wilderness of the Dakota Territory in the long cold winter of 1970. He spent his first formative year dodging wild natives, playing with Jackrabbits, and eating lots of chocolate pudding. Having conquered the Dakota Territory by his first birthday, and eaten his store of chocolate pudding, Danny (as he was known then) set out to travel the world in search of more chocolate pudding and less snow. Danny was mildly successful in his travels despite being limited to traveling primarily in the back seat of a car. His travels brought him to pudding meccas such as Fort Hood, Texas, Fort Lewis, Washington, Fort Leavenworth, Kansas (just visiting, honest), and his favorite - he says with a nod and a wink and a small touch of sarcasm - Fort Drum, New York. Along the way, he found much pudding: chocolate, vanilla, and (Yuck!) tapioca, To combat the effects large quantities of chocolate pudding (and other sugary substances) can have on the human body, Danny took up that most abusive of sports, wrestling. He quickly mastered the art of grappling with sweaty, smelly, and, later in his career, hairy men, winning several national championships as a young boy.