Toward A Software Pipelining Framework For Many-Core Chips