Abstract Future large scale systems will execute novel operating systems running across many chips with many cores. In this highly distributed environment, resource discovery is an important building block. Resource discovery aims to match the application’s demands to the existing (distributed) resources, by discovering and finding resources at run-time, and then selecting the best resource that matches the application running requirements. The main contribution of this paper is the design and evolution of a highly scalable, highly flexible, resource discovery model for such heterogeneous environments. The model is based on self-organizing processing resources in the system according to a hierarchical resource description where each group of resources has a local directory that collects and keeps the information of the underlying resource members (cores) in different layers. Operationally, at each layer, it consists of a peer-to-peer architecture of modules that, by interacting with each other, provide a global view of the resource availability in a large, dynamic and heterogeneous distributed environment. The proposed resource discovery model provides the adaptability and flexibility to perform complex querying by supporting a large set of significant querying features (such as multi-dimensional, range and aggregate querying) while supporting exact and partial matching, both for static and dynamic object contents. The paper demonstrates by simulation how the proposed model can deal with issues such as scalability, efficiency and adaptability of resource discovery in future many-core systems which are the major challenges in the current state of the art. The simulation shows that the proposed resource discovery model can be applied to arbitrary scales of dynamicity, both in terms of complexity and of scale, positioning this proposal as a good architecture for future many-core systems.