Code Monkey home page Code Monkey logo

Comments (6)

ggouaillardet avatar ggouaillardet commented on June 9, 2024

Did you configure prrte with --enable-debug ? If you do not, some calls to ORTE_NAME_PRINT will be #ifdef’ed out and performance should be much higher.

from prrte.

lyu avatar lyu commented on June 9, 2024

@ggouaillardet This is my prrte configuration:

./configure --prefix=$INSTALLPATH --with-hwloc=$INSTALLPATH --with-pmix=$INSTALLPATH --with-libevent=$HOME/.local --without-slurm --with-tm=/cm/shared/apps/torque/6.1.1

I tried again and specified --disable-debug, same behavior.

from prrte.

rhc54 avatar rhc54 commented on June 9, 2024

Setting aside the debug question - the use of publish/lookup to exchange endpoint data is never going to work well as it was not intended for that purpose. If you read the standard, you will see that the exchange of data during wireup is done with the code path you eventually adopted - put/commit/fence/get. This code path is done as a collective operation and thus can scale.

Publish/lookup is intended for things like the rendezvous between two unrelated jobs where one process from each job takes responsibility for posting and retrieving the information about the other job, and then disseminating it to its peers. It is designed not to scale for the simple reason that it isn't a collective operation - thus, you can not take advantage of any of the scalable operations used in the other code path.

At some point in the near future, you will not need to put/commit any data. All endpoint information will be pre-computed and provided at startup. Thus, there will be no time required to start the job beyond just the time it takes to fork/exec the processes.

from prrte.

lyu avatar lyu commented on June 9, 2024

@rhc54 Thanks for the explanation! Closing.

from prrte.

ggouaillardet avatar ggouaillardet commented on June 9, 2024

@lyu your report contains a valid point regarding the (mostly unnecessary) cost of ORTE_NAME_PRINT()

could you please manually download and apply the patch at https://github.com/pmix/prrte/pull/226.patch ?
long story short, most ORTE_NAME_PRINT() calls will be avoided.

from prrte.

lyu avatar lyu commented on June 9, 2024

@ggouaillardet This patch works as good as manually removing the opal_output_verbose function calls!

from prrte.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.