• Skip to main content
  • Skip to search
  • Skip to footer
Cadence Home
  • This search text may be transcribed, used, stored, or accessed by our third-party service providers per our Cookie Policy and Privacy Policy.

  1. Community Forums
  2. Custom IC SKILL
  3. how to sleep 1 between two runICRP when ADE submit to L...

Stats

  • Locked Locked
  • Replies 4
  • Subscribers 143
  • Views 8962
  • Members are here 0
This discussion has been locked.
You can no longer post new replies to this discussion. If you have a question you can start a new discussion

how to sleep 1 between two runICRP when ADE submit to LSF

zsummer
zsummer over 3 years ago

Hi all,

our IT  guies told me that many analog designer submit a lot of runICRP jobs to LSF,

it will affect and slow down LSF performance because there are many request deliver to LSF  at the same time.

so, IT  suggest our whether can spcify sleep 1 during two runICRP task?

It looks like there is no good idea use LBS or Command mode.

it there any skill function to call LSF  API  to do it? 

or Command mode to fulfill this requirement?

  • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago

    I'm not aware of a way of doing this as a standard feature, but one way could be to use command mode and make the command:

    randSleep ; bsub ...

    The randSleep being this script below (you could also use randSleep 20 if you want a larger maximum sleep). 

    #!/bin/sh
    # sleep by a random interval - up to a maximum passed
    # to the script, or 10 if no arguments.
    if [ $# -lt 1 ]; then
      maxDelay=10
    else
      maxDelay=$1
    fi
    sleep $(($RANDOM % $maxDelay))

    I'm not convinced this is a good idea though! Maybe only use it when you have a job policy where you are submitting lots of jobs.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • zsummer
    zsummer over 3 years ago in reply to Andrew Beckett

    Hi andrew,

    Thanks your firstly.

    I rename the script called as sleep.bash.

    cat sleep.bash:

    #!/bin/bash

    sleep $(($RANDOM % 5))

    and then submit 4 runICRP to LSF using Command mode='/xxx/sleep.bash; bsub ....' in job policy, 

    and then run bjobs, it looks like:

    Wed Jul 27 00:47:47: Submitted from host <h1>, CWD </xxx
    Wed Jul 27 00:47:47: Submitted from host <h2>, CWD </xx
    Wed Jul 27 00:47:48: Submitted from host <h3>, CWD </xx
    Wed Jul 27 00:47:50: Submitted from host <h4>, CWD </xx

    yes, we can see some jobs submitted time has a delay. 

    but  job1 and job2 submit time is still the same,  job3 and job4 has a sleep 2.

    I know it is caused by $RANDOM % 5.

    so one more question,

    how to optimize this script in order to control exactly only 1 second dealy  between every runICRP?

    Thanks

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to zsummer
    zsummer said:

    how to optimize this script in order to control exactly only 1 second dealy  between every runICRP?

    If I'd thought of a way of doing that (since that's what you'd originally asked), I'd have done it. Having the script read and write a file which increases by a second each time would be a very bad idea because it would just keep increasing and at some point you'd want it to reset. It would be better to have the system which submits the command wait for a second before each subsequent submission. I don't think there's a way of doing that (at least I'm not aware of a way) - so you should contact customer support.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel
  • Andrew Beckett
    Andrew Beckett over 3 years ago in reply to Andrew Beckett

    Actually, there's going to be a new cdsenv variable in IC6.1.8-64b.500.27 (ISR27) due out later this month which does this:

    maestro.lscs	 minimumJobSubmissionInterval int 0

    I believe it will also affect ICRP. The default is 0, but can be increased - the value is the number of seconds between job submissions.

    Andrew

    • Cancel
    • Vote Up 0 Vote Down
    • Cancel

Community Guidelines

The Cadence Design Communities support Cadence users and technologists interacting to exchange ideas, news, technical information, and best practices to solve problems and get the most from Cadence technology. The community is open to everyone, and to provide the most value, we require participants to follow our Community Guidelines that facilitate a quality exchange of ideas and information. By accessing, contributing, using or downloading any materials from the site, you agree to be bound by the full Community Guidelines.

© 2025 Cadence Design Systems, Inc. All Rights Reserved.

  • Terms of Use
  • Privacy
  • Cookie Policy
  • US Trademarks
  • Do Not Sell or Share My Personal Information