ACM SIGPLAN Notices · 2013 · 31 citations · 40 references
ManagementComputer EngineeringComputer ScienceCompilersComputer ArchitectureSchedulingConstraint-based SchedulingCpu SchedulingInstruction SchedulingResource SchedulingResource-constrained SchedulingScheduling OptimizationArchitecture ExplorationArchitecture-level OptimizationEnergy-efficient ComputationHeuristicsScheduling AlgorithmsSpatial ArchitectureSpatial Scheduling
Specialized execution using spatial architectures provides energy efficient computation, but requires effective algorithms for spatially scheduling the computation. Generally, this has been solved with architecture-specific heuristics, an approach which suffers from poor compiler/architect productivity, lack of insight on optimality, and inhibits migration of techniques between architectures. Our goal is to develop a scheduling framework usable for all spatial architectures. To this end, we expresses spatial scheduling as a constraint satisfaction problem using Integer Linear Programming (ILP). We observe that architecture primitives and scheduler responsibilities can be related through five abstractions: placement of computation, routing of data, managing event timing, managing resource utilization, and forming the optimization objectives. We encode these responsibilities as 20 general ILP constraints, which are used to create schedulers for the disparate TRIPS, DySER, and PLUG architectures. Our results show that a general declarative approach using ILP is implementable, practical, and typically matches or outperforms specialized schedulers.
40
Dark silicon and the end of multicore scaling
Hadi Esmaeilzadeh, Emily Blem, Renée St. Amant et al. · 2011 · 1.5K citations
Shekhar Borkar, Andrew A. Chien · Communications of the ACM · 2011 · 958 citations
Baring it all to software: Raw machines
E. Waingold, Michael Taylor, Devabhaktuni Srikrishna et al. · Computer · 1997 · 632 citations