To use the multicore processors to the best of their potential most applications should be rewritten so that they can benefit from the several available parallel lines of execution. However, this is not enough to ensure that maximum performance is achieved. Furthermore, some applications that employ threadto-core pinning often sacrifice their portability for the sake of performance. In this paper we describe a work in progress that aims at the creation of a novel scheduler that, with the help of several indicators obtained from application profiling and hardware counters, is able to pin the threads to the cores optimizing performance in a fashion that is both transparent and automatic, thus not sacrificing portability.