Rocksolid Light

Welcome to novaBBS (click a section below)

mail  files  register  newsreader  groups  login

Message-ID:  

<lilo> Fairlight: udp is the light margarine of tcp/ip transport protocols :) -- Seen on #Linux


tech / sci.electronics.design / Resource management

SubjectAuthor
* Resource managementDon Y
+- Re: Resource managementa a
+- Re: Resource managementjlarkin
+* Re: Resource managementrbowman
|`* Re: Resource managementDon Y
| `- Re: Resource managementjlarkin
`* Re: Resource managementMartin Brown
 `- Re: Resource managementDon Y

1
Resource management

<tb3mbb$bv28$1@dont-email.me>

  copy mid

https://www.novabbs.com/tech/article-flat.php?id=101657&group=sci.electronics.design#101657

  copy link   Newsgroups: sci.electronics.design
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: blockedo...@foo.invalid (Don Y)
Newsgroups: sci.electronics.design
Subject: Resource management
Date: Mon, 18 Jul 2022 06:14:04 -0700
Organization: A noiseless patient Spider
Lines: 48
Message-ID: <tb3mbb$bv28$1@dont-email.me>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Mon, 18 Jul 2022 13:14:19 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="32f2dee6b8d93d314b508dd40b798e4b";
logging-data="392264"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/z5zEfKjN3/xiZgHWInvxP"
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.1.1
Cancel-Lock: sha1:6PAO3YQWgOfWPdqyy58EsjqM23g=
Content-Language: en-US
X-Mozilla-News-Host: news://news.eternal-september.org:119
 by: Don Y - Mon, 18 Jul 2022 13:14 UTC

I'm designing an AI to manage resources without the need
for a sysadmin. So, have been canvasing colleagues as to
how they "manually" manage the resources on their
workstations (as most appliances have static requirements
and, thus, don't usually need such management).

In terms of a workstation, resources are usually space and
time -- storage space (short term and secondary) and
how long you, the user, are willing to wait for some or
all of the currently executing activities to complete.

There seem to be two primary strategies:
- let the machine work on ONE thing exclusively to
ensure it has all of the resources that it may need
- let the machine work on everything of interest and
walk away for a while (i.e., remove the time constraint
on results)

For example, when doing SfM, I let the machine work exclusively
on that task as I know it will greedily consume all the
resources it can get its hands on.

OTOH, when recoding video, I'll enqueue everything and let
the machine chew on them all while I find some other activity
to assume my focus.

But, both of these are front-loaded decisions; you
implement your strategy up front. They assume the
machine doesn't have its own agenda to implement
(i.e., you assume any periodic/scheduled tasks are
insignificant in terms of their resource impact
as you likely are unaware of WHEN they are triggered)

It also assumes you can estimate the magnitude of a
workload /a priori/ -- usually from past experience.
I.e., you KNOW that a certain activity will be a resource
hog -- or not. "Surprises" brought about by unexpected
differences in task complexity are rare.

What happens when something you've set out to do takes
considerably longer than you expected? Do you kill off
less important tasks? Renice them? Or, just grin and
bear it?

How do you choose which activities to kill off/defer?
Is this a static decision or an assessment that is
made dynamically based on your perceived "need" of
certain work results?

Re: Resource management

<2d372477-326e-4055-8480-421ace88e484n@googlegroups.com>

  copy mid

https://www.novabbs.com/tech/article-flat.php?id=101658&group=sci.electronics.design#101658

  copy link   Newsgroups: sci.electronics.design
X-Received: by 2002:a05:6214:1d25:b0:473:7ff1:693 with SMTP id f5-20020a0562141d2500b004737ff10693mr20217528qvd.36.1658150778512;
Mon, 18 Jul 2022 06:26:18 -0700 (PDT)
X-Received: by 2002:a81:804:0:b0:31d:fedc:8be3 with SMTP id
4-20020a810804000000b0031dfedc8be3mr15650680ywi.491.1658150778324; Mon, 18
Jul 2022 06:26:18 -0700 (PDT)
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!news-out.google.com!nntp.google.com!postnews.google.com!google-groups.googlegroups.com!not-for-mail
Newsgroups: sci.electronics.design
Date: Mon, 18 Jul 2022 06:26:18 -0700 (PDT)
In-Reply-To: <tb3mbb$bv28$1@dont-email.me>
Injection-Info: google-groups.googlegroups.com; posting-host=46.134.129.136; posting-account=XS5sXwoAAABKU0kHcsk_nashWaidAu0Q
NNTP-Posting-Host: 46.134.129.136
References: <tb3mbb$bv28$1@dont-email.me>
User-Agent: G2/1.0
MIME-Version: 1.0
Message-ID: <2d372477-326e-4055-8480-421ace88e484n@googlegroups.com>
Subject: Re: Resource management
From: manta1...@gmail.com (a a)
Injection-Date: Mon, 18 Jul 2022 13:26:18 +0000
Content-Type: text/plain; charset="UTF-8"
Lines: 54
 by: a a - Mon, 18 Jul 2022 13:26 UTC

On Monday, 18 July 2022 at 15:14:26 UTC+2, Don Y wrote:
> I'm designing an AI to manage resources without the need
> for a sysadmin. So, have been canvasing colleagues as to
> how they "manually" manage the resources on their
> workstations (as most appliances have static requirements
> and, thus, don't usually need such management).
>
> In terms of a workstation, resources are usually space and
> time -- storage space (short term and secondary) and
> how long you, the user, are willing to wait for some or
> all of the currently executing activities to complete.
>
> There seem to be two primary strategies:
> - let the machine work on ONE thing exclusively to
> ensure it has all of the resources that it may need
> - let the machine work on everything of interest and
> walk away for a while (i.e., remove the time constraint
> on results)
>
> For example, when doing SfM, I let the machine work exclusively
> on that task as I know it will greedily consume all the
> resources it can get its hands on.
>
> OTOH, when recoding video, I'll enqueue everything and let
> the machine chew on them all while I find some other activity
> to assume my focus.
>
> But, both of these are front-loaded decisions; you
> implement your strategy up front. They assume the
> machine doesn't have its own agenda to implement
> (i.e., you assume any periodic/scheduled tasks are
> insignificant in terms of their resource impact
> as you likely are unaware of WHEN they are triggered)
>
> It also assumes you can estimate the magnitude of a
> workload /a priori/ -- usually from past experience.
> I.e., you KNOW that a certain activity will be a resource
> hog -- or not. "Surprises" brought about by unexpected
> differences in task complexity are rare.
>
> What happens when something you've set out to do takes
> considerably longer than you expected? Do you kill off
> less important tasks? Renice them? Or, just grin and
> bear it?
>
> How do you choose which activities to kill off/defer?
> Is this a static decision or an assessment that is
> made dynamically based on your perceived "need" of
> certain work results?
it's easy and has nothing to do with any AI

Just set your priorities, targets and draw your ideas on a piece of paper as a graph supported by timeline
since it's hard to guess what sits in your mind.

Priorities can by set and managed by IP ports

Re: Resource management

<rhqadhdfvdtrm9pejgfcbluouujbkq87jm@4ax.com>

  copy mid

https://www.novabbs.com/tech/article-flat.php?id=101666&group=sci.electronics.design#101666

  copy link   Newsgroups: sci.electronics.design
Path: i2pn2.org!i2pn.org!weretis.net!feeder6.news.weretis.net!news.misty.com!border2.nntp.dca1.giganews.com!nntp.giganews.com!buffer2.nntp.dca1.giganews.com!nntp.supernews.com!news.supernews.com.POSTED!not-for-mail
NNTP-Posting-Date: Mon, 18 Jul 2022 09:21:23 -0500
From: jlar...@highlandsniptechnology.com
Newsgroups: sci.electronics.design
Subject: Re: Resource management
Date: Mon, 18 Jul 2022 07:21:22 -0700
Message-ID: <rhqadhdfvdtrm9pejgfcbluouujbkq87jm@4ax.com>
References: <tb3mbb$bv28$1@dont-email.me>
X-Newsreader: Forte Agent 3.1/32.783
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Lines: 64
X-Trace: sv3-YXfBoy/jrMYU2Fo9BGUL2VIgLt8ct67CUzpZgnGCS+zDxvjPuj3++t2fW6E1lWGjNFU3skYowBj9pKO!pESNdjttrhYtAWEdY3/be1+qHqBout/LugZVTL+RBiBcb+qb6dPItetgLB8ixw2kRrsEonGTxfcF!XeJrTg==
X-Complaints-To: www.supernews.com/docs/abuse.html
X-DMCA-Complaints-To: www.supernews.com/docs/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 3649
 by: jlar...@highlandsniptechnology.com - Mon, 18 Jul 2022 14:21 UTC

On Mon, 18 Jul 2022 06:14:04 -0700, Don Y
<blockedofcourse@foo.invalid> wrote:

>I'm designing an AI to manage resources without the need
>for a sysadmin. So, have been canvasing colleagues as to
>how they "manually" manage the resources on their
>workstations (as most appliances have static requirements
>and, thus, don't usually need such management).
>
>In terms of a workstation, resources are usually space and
>time -- storage space (short term and secondary) and
>how long you, the user, are willing to wait for some or
>all of the currently executing activities to complete.
>
>There seem to be two primary strategies:
>- let the machine work on ONE thing exclusively to
> ensure it has all of the resources that it may need
>- let the machine work on everything of interest and
> walk away for a while (i.e., remove the time constraint
> on results)
>
>For example, when doing SfM, I let the machine work exclusively
>on that task as I know it will greedily consume all the
>resources it can get its hands on.
>
>OTOH, when recoding video, I'll enqueue everything and let
>the machine chew on them all while I find some other activity
>to assume my focus.
>
>But, both of these are front-loaded decisions; you
>implement your strategy up front. They assume the
>machine doesn't have its own agenda to implement
>(i.e., you assume any periodic/scheduled tasks are
>insignificant in terms of their resource impact
>as you likely are unaware of WHEN they are triggered)
>
>It also assumes you can estimate the magnitude of a
>workload /a priori/ -- usually from past experience.
>I.e., you KNOW that a certain activity will be a resource
>hog -- or not. "Surprises" brought about by unexpected
>differences in task complexity are rare.
>
>What happens when something you've set out to do takes
>considerably longer than you expected? Do you kill off
>less important tasks? Renice them? Or, just grin and
>bear it?
>
>How do you choose which activities to kill off/defer?
>Is this a static decision or an assessment that is
>made dynamically based on your perceived "need" of
>certain work results?

What is SfM?

The only thing I do that uses visible amounts of compute power is
running Spice. Shutting down other stuff doesn't make much difference.
Well, launching eDrawings is slow but then it runs fine.

PCB layout takes a few seconds to run a check on a hairy 8-layer
board. It used to take two people two days to check a 2-side board.
That was intense. I fell in love once doing that.

Why not get another PC or two for the compute-bound stuff?

Re: Resource management

<jjlh16F4vktU1@mid.individual.net>

  copy mid

https://www.novabbs.com/tech/article-flat.php?id=101679&group=sci.electronics.design#101679

  copy link   Newsgroups: sci.electronics.design
Path: i2pn2.org!i2pn.org!weretis.net!feeder8.news.weretis.net!news.szaf.org!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail
From: bow...@montana.com (rbowman)
Newsgroups: sci.electronics.design
Subject: Re: Resource management
Date: Mon, 18 Jul 2022 10:45:24 -0600
Lines: 19
Message-ID: <jjlh16F4vktU1@mid.individual.net>
References: <tb3mbb$bv28$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
X-Trace: individual.net OadChHOLDLFUau2dYyDoOALM3OXixNfZci7feRsq8tlO3HTFl/
Cancel-Lock: sha1:UWZLojvXH0IlFy9xmxKmPeh3R0Y=
User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:45.0) Gecko/20100101
Thunderbird/45.6.0
In-Reply-To: <tb3mbb$bv28$1@dont-email.me>
 by: rbowman - Mon, 18 Jul 2022 16:45 UTC

On 07/18/2022 07:14 AM, Don Y wrote:
>
> How do you choose which activities to kill off/defer?
> Is this a static decision or an assessment that is
> made dynamically based on your perceived "need" of
> certain work results?

I usually run into memory problems rather than CPU usage. 16GB is not
enough for Windows 11. Angular development tends to be a hog when using
'ng serve'. It's convenient since it rebuilds when the code changes but
uses much more memory than nginx with a static build.

Typically I'm working on several projects in virtual desktops. What gets
killed depends on my priority at the time.

One 'advantage' of being on the Windows Insider Dev channel is frequent
updates requiring rebooting to clear out the cruft.

Re: Resource management

<tb4srs$lr7f$1@dont-email.me>

  copy mid

https://www.novabbs.com/tech/article-flat.php?id=101717&group=sci.electronics.design#101717

  copy link   Newsgroups: sci.electronics.design
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: blockedo...@foo.invalid (Don Y)
Newsgroups: sci.electronics.design
Subject: Re: Resource management
Date: Mon, 18 Jul 2022 17:11:33 -0700
Organization: A noiseless patient Spider
Lines: 46
Message-ID: <tb4srs$lr7f$1@dont-email.me>
References: <tb3mbb$bv28$1@dont-email.me> <jjlh16F4vktU1@mid.individual.net>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 19 Jul 2022 00:11:40 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="73c703c117d5b28a497953519ff60e23";
logging-data="716015"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/34vIkDPAKuQYzxRGFlJHh"
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.1.1
Cancel-Lock: sha1:2+R6DxbzFJZXr86l2WUdHwLoKHA=
In-Reply-To: <jjlh16F4vktU1@mid.individual.net>
Content-Language: en-US
 by: Don Y - Tue, 19 Jul 2022 00:11 UTC

On 7/18/2022 9:45 AM, rbowman wrote:
> On 07/18/2022 07:14 AM, Don Y wrote:
>>
>> How do you choose which activities to kill off/defer?
>> Is this a static decision or an assessment that is
>> made dynamically based on your perceived "need" of
>> certain work results?
>
> I usually run into memory problems rather than CPU usage. 16GB is not enough
> for Windows 11. Angular development tends to be a hog when using 'ng serve'.
> It's convenient since it rebuilds when the code changes but uses much more
> memory than nginx with a static build.

But memory just translates into time as you can fault in/out pages as req'd.

> Typically I'm working on several projects in virtual desktops. What gets killed
> depends on my priority at the time.

Are the desktops essentially idle, save "The Current"? I.e., can you
losslessly kill off one (or more) without losing anything -- either because
they are at a logical checkpoint *or* because they are inherently resumable
processes?

Windows is a bad example of this "management" issue as most windows "glutton
apps" have mechanisms built in to self-regulate in instances of overload
(disk defragment runs at off-hours, disk indexer, etc.)

Also, the user only has a small impact on what processes run -- and has to
explicitly invoke them. E.g., there were 61 processes/710 threads running on
this box while the desktop was idle (before I started email client). I'd never
consider looking through those to see which I can kill of, NOW, to conserve
resources; chances are, none are real pigs (unless Firefox was running!)
and they are likely poorly defined: "Can I kill off the on-screen display
process? I can't recall what it does or when it's used -- does that make it
benign?" How savvy is the user expected to be?

[OTOH, it seems intuitive that a user could "change his mind" and kill off
an app he just *opened* without requiring much "system knowledge"]

Finally, the only thing that can make matters degrade is adding apps;
the hardware is never degraded.

> One 'advantage' of being on the Windows Insider Dev channel is frequent updates
> requiring rebooting to clear out the cruft.

Yeah, but the downside is being a windows developer! :>

Re: Resource management

<sg4cdh5qctd19kr6r6i5uj5t4nor2lgfr0@4ax.com>

  copy mid

https://www.novabbs.com/tech/article-flat.php?id=101728&group=sci.electronics.design#101728

  copy link   Newsgroups: sci.electronics.design
Path: i2pn2.org!i2pn.org!usenet.blueworldhosting.com!feed1.usenet.blueworldhosting.com!peer03.iad!feed-me.highwinds-media.com!news.highwinds-media.com!border1.nntp.dca1.giganews.com!nntp.giganews.com!buffer1.nntp.dca1.giganews.com!nntp.supernews.com!news.supernews.com.POSTED!not-for-mail
NNTP-Posting-Date: Mon, 18 Jul 2022 21:09:52 -0500
From: jlar...@highlandsniptechnology.com
Newsgroups: sci.electronics.design
Subject: Re: Resource management
Date: Mon, 18 Jul 2022 19:09:52 -0700
Message-ID: <sg4cdh5qctd19kr6r6i5uj5t4nor2lgfr0@4ax.com>
References: <tb3mbb$bv28$1@dont-email.me> <jjlh16F4vktU1@mid.individual.net> <tb4srs$lr7f$1@dont-email.me>
X-Newsreader: Forte Agent 3.1/32.783
MIME-Version: 1.0
Content-Type: text/plain; charset=us-ascii
Content-Transfer-Encoding: 7bit
Lines: 39
X-Trace: sv3-zzneb4aPkLdr+525pDoqG3zLcDM7vAauiyfj9YK64fcbj+eMNFKDMmZvVIXBg9e1hi9+jf1TON3v2kk!LEGWCVx9Szcdz6qZGim8Yfn/K3R7KVppiDctegwCcRqTOIGkECMbuPEyRgIIaM1o7c/uef4JFz3R!xGdj9g==
X-Complaints-To: www.supernews.com/docs/abuse.html
X-DMCA-Complaints-To: www.supernews.com/docs/dmca.html
X-Abuse-and-DMCA-Info: Please be sure to forward a copy of ALL headers
X-Abuse-and-DMCA-Info: Otherwise we will be unable to process your complaint properly
X-Postfilter: 1.3.40
X-Original-Bytes: 2917
X-Received-Bytes: 3008
 by: jlar...@highlandsniptechnology.com - Tue, 19 Jul 2022 02:09 UTC

On Mon, 18 Jul 2022 17:11:33 -0700, Don Y
<blockedofcourse@foo.invalid> wrote:

>On 7/18/2022 9:45 AM, rbowman wrote:
>> On 07/18/2022 07:14 AM, Don Y wrote:
>>>
>>> How do you choose which activities to kill off/defer?
>>> Is this a static decision or an assessment that is
>>> made dynamically based on your perceived "need" of
>>> certain work results?
>>
>> I usually run into memory problems rather than CPU usage. 16GB is not enough
>> for Windows 11. Angular development tends to be a hog when using 'ng serve'.
>> It's convenient since it rebuilds when the code changes but uses much more
>> memory than nginx with a static build.
>
>But memory just translates into time as you can fault in/out pages as req'd.
>
>> Typically I'm working on several projects in virtual desktops. What gets killed
>> depends on my priority at the time.
>
>Are the desktops essentially idle, save "The Current"? I.e., can you
>losslessly kill off one (or more) without losing anything -- either because
>they are at a logical checkpoint *or* because they are inherently resumable
>processes?
>
>Windows is a bad example of this "management" issue as most windows "glutton
>apps" have mechanisms built in to self-regulate in instances of overload
>(disk defragment runs at off-hours, disk indexer, etc.)
>
>Also, the user only has a small impact on what processes run -- and has to
>explicitly invoke them. E.g., there were 61 processes/710 threads running on
>this box while the desktop was idle (before I started email client). I'd never
>consider looking through those to see which I can kill of, NOW, to conserve
>resources; chances are, none are real pigs (unless Firefox was running!)

Lately Firefox kicks off scores of processes and gobbles ram. There is
an about:config setting to tame that.

Re: Resource management

<tb5ks2$19o$1@gioia.aioe.org>

  copy mid

https://www.novabbs.com/tech/article-flat.php?id=101734&group=sci.electronics.design#101734

  copy link   Newsgroups: sci.electronics.design
Path: i2pn2.org!i2pn.org!aioe.org!t3dblr3YrhBp7qO4PgBODA.user.46.165.242.75.POSTED!not-for-mail
From: '''newsp...@nonad.co.uk (Martin Brown)
Newsgroups: sci.electronics.design
Subject: Re: Resource management
Date: Tue, 19 Jul 2022 08:01:22 +0100
Organization: Aioe.org NNTP Server
Message-ID: <tb5ks2$19o$1@gioia.aioe.org>
References: <tb3mbb$bv28$1@dont-email.me>
Mime-Version: 1.0
Content-Type: text/plain; charset=UTF-8; format=flowed
Content-Transfer-Encoding: 8bit
Injection-Info: gioia.aioe.org; logging-data="1336"; posting-host="t3dblr3YrhBp7qO4PgBODA.user.gioia.aioe.org"; mail-complaints-to="abuse@aioe.org";
User-Agent: Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:91.0) Gecko/20100101
Thunderbird/91.11.0
X-Notice: Filtered by postfilter v. 0.9.2
Content-Language: en-GB
 by: Martin Brown - Tue, 19 Jul 2022 07:01 UTC

On 18/07/2022 14:14, Don Y wrote:
> I'm designing an AI to manage resources without the need
> for a sysadmin.  So, have been canvasing colleagues as to
> how they "manually" manage the resources on their
> workstations (as most appliances have static requirements
> and, thus, don't usually need such management).
>
> In terms of a workstation, resources are usually space and
> time -- storage space (short term and secondary) and
> how long you, the user, are willing to wait for some or
> all of the currently executing activities to complete.
>
> There seem to be two primary strategies:
> - let the machine work on ONE thing exclusively to
>   ensure it has all of the resources that it may need
> - let the machine work on everything of interest and
>   walk away for a while (i.e., remove the time constraint
>   on results)
>
> For example, when doing SfM, I let the machine work exclusively
> on that task as I know it will greedily consume all the
> resources it can get its hands on.

Although there are tasks that are so resource hungry that they make the
system slower to do other things there are very few that use enough
resources to prevent you from text editing or compiling at the same
time. My computer is often running something very heavy in the
background whilst I am dealing with emails and text editing.
>
> OTOH, when recoding video, I'll enqueue everything and let
> the machine chew on them all while I find some other activity
> to assume my focus.

Workstations are fast enough that it isn't worth the effort to schedule
things carefully unless you know that there will be a resource conflict.
eg Two programmes that will each try to create 100+GB scratch files.
Even then SSD's have changed the dynamics somewhat.

> But, both of these are front-loaded decisions; you
> implement your strategy up front.  They assume the
> machine doesn't have its own agenda to implement
> (i.e., you assume any periodic/scheduled tasks are
> insignificant in terms of their resource impact
> as you likely are unaware of WHEN they are triggered)
>
> It also assumes you can estimate the magnitude of a
> workload /a priori/ -- usually from past experience.
> I.e., you KNOW that a certain activity will be a resource
> hog -- or not.  "Surprises" brought about by unexpected
> differences in task complexity are rare.
>
> What happens when something you've set out to do takes
> considerably longer than you expected?  Do you kill off
> less important tasks?  Renice them?  Or, just grin and
> bear it?

Usually the latter.

The most annoying thing is when Windows in its infinite wisdom resets
the flag that lets it reboot the machine willy nilly and without asking
first. Some long running programmes are not interruptible. :(

> How do you choose which activities to kill off/defer?
> Is this a static decision or an assessment that is
> made dynamically based on your perceived "need" of
> certain work results?

It is hardly ever worth meddling unless there is a really serious
competition for either memory or disk access. Setting two programmes
running together that you know will fight for resources is a recipe for
trouble. It was very *much* more of a problem with spinning rust.

Most CPU based computationally intensive things I do will saturate
memory bandwidth at around 6 threads irrespective of the total number of
CPUs/Threads available in the machine (typically now 8 or 12).

One thing that is worth doing is experimenting with the maximum number
of threads you allow very CPU intensive tasks to spawn. There is a sweet
spot where you get the results marginally faster and with a lot less
heat generation. Chess programme parallel implementations show this
effect big time. Working out things quickly that then get thrown away!

--
Regards,
Martin Brown

Re: Resource management

<tb5u9j$10mvn$1@dont-email.me>

  copy mid

https://www.novabbs.com/tech/article-flat.php?id=101736&group=sci.electronics.design#101736

  copy link   Newsgroups: sci.electronics.design
Path: i2pn2.org!i2pn.org!eternal-september.org!reader01.eternal-september.org!.POSTED!not-for-mail
From: blockedo...@foo.invalid (Don Y)
Newsgroups: sci.electronics.design
Subject: Re: Resource management
Date: Tue, 19 Jul 2022 02:41:58 -0700
Organization: A noiseless patient Spider
Lines: 174
Message-ID: <tb5u9j$10mvn$1@dont-email.me>
References: <tb3mbb$bv28$1@dont-email.me> <tb5ks2$19o$1@gioia.aioe.org>
MIME-Version: 1.0
Content-Type: text/plain; charset=utf-8; format=flowed
Content-Transfer-Encoding: 7bit
Injection-Date: Tue, 19 Jul 2022 09:42:12 -0000 (UTC)
Injection-Info: reader01.eternal-september.org; posting-host="73c703c117d5b28a497953519ff60e23";
logging-data="1072119"; mail-complaints-to="abuse@eternal-september.org"; posting-account="U2FsdGVkX1/UjrNazED9TlO+N0AkMHUE"
User-Agent: Mozilla/5.0 (Windows NT 6.1; WOW64; rv:52.0) Gecko/20100101
Thunderbird/52.1.1
Cancel-Lock: sha1:eMztB0xi/lXslsJyD4trHJxkh2I=
Content-Language: en-US
In-Reply-To: <tb5ks2$19o$1@gioia.aioe.org>
 by: Don Y - Tue, 19 Jul 2022 09:41 UTC

On 7/19/2022 12:01 AM, Martin Brown wrote:
> On 18/07/2022 14:14, Don Y wrote:
>> I'm designing an AI to manage resources without the need
>> for a sysadmin. So, have been canvasing colleagues as to
>> how they "manually" manage the resources on their
>> workstations (as most appliances have static requirements
>> and, thus, don't usually need such management).
>>
>> In terms of a workstation, resources are usually space and
>> time -- storage space (short term and secondary) and
>> how long you, the user, are willing to wait for some or
>> all of the currently executing activities to complete.
>>
>> There seem to be two primary strategies:
>> - let the machine work on ONE thing exclusively to
>> ensure it has all of the resources that it may need
>> - let the machine work on everything of interest and
>> walk away for a while (i.e., remove the time constraint
>> on results)
>>
>> For example, when doing SfM, I let the machine work exclusively
>> on that task as I know it will greedily consume all the
>> resources it can get its hands on.
>
> Although there are tasks that are so resource hungry that they make the system
> slower to do other things there are very few that use enough resources to
> prevent you from text editing or compiling at the same time. My computer is
> often running something very heavy in the background whilst I am dealing with
> emails and text editing.

Text processing is dribble in the grand scheme of things. Those apps
already spend most of their time spinning on keyboard I/O.

Try running TWO "heavy" things. Granted, the machine (likely) won't
crash, but will you be willing to wait twice as long for either of
those "heavy" things to complete?

E.g., I've noticed that trying to recode more than three video streams
simultaneously increases the time that I wait for ANY of them to
complete; the machine dutifully tries to apportion it's compute
resources between them all, slowing all of them down.

If the goal is to finish all of them, then the end time may be unchanged.
But, there may be opportunities to exploit early finishers in subsequent
actions. E.g., copying a FINISHED conversion onto a thumb drive (uses
very little compute resources but lots of USB channel bandwidth) can
be done in parallel with other recoding operations in progress -- *if*
you've been judicious in how you submitted the recoding jobs (i.e., to
allow some to finish before introducing others).

I limit my FTP clients to two concurrent transfers as the local disk
is effectively as fast as the Gbe pipe connected to the machine; why
have 5 transfers each proceeding at 20% of that rate when I can
serialize them (or let the client do so) -- and have them available
on the other end of the wire sooner.

[Bandwidth being just another resource so manage]

>> OTOH, when recoding video, I'll enqueue everything and let
>> the machine chew on them all while I find some other activity
>> to assume my focus.
>
> Workstations are fast enough that it isn't worth the effort to schedule things
> carefully unless you know that there will be a resource conflict. eg Two

Exactly. An AI watching the current job list can make better decisions
as to how the resources can be used, based on knowledge gleaned from
past observations.

When I place a phone call, another job is triggered to record the contents
of that call. The existence of a (new) recording (even if "in progress")
triggers a speaker diarisation job to parse the audio into independant
streams. Each of these streams triggers another job(s) to identify the
speaker in each stream. These, then, are used to retrain the speaker
models to improve subsequent efforts.

At least, that's how a resource *abundant* solution happens.

But, the only current "need" is for the job that records the audio
streams as the audio is only available in current time. Each of the
other activities can be serialized thereafter, based on the resources
available when those jobs are scheduled.

Why "load" all of those jobs (increasing demand for VMM) simultansously
if you can load them sequentially? Thus, minimizing the PEAK resource
requirement. (should the *user* have to make that decision? Isn't it
better suited to an AI?) After all, the *practical* deadline is to
have this work finished before the next "phone call" (or other opportunity
to use this data)

> programmes that will each try to create 100+GB scratch files.
> Even then SSD's have changed the dynamics somewhat.

Now, move out of the workstation and into an appliance. How much
do you overprovision the appliance to handle those peak demands,
solely because you didn't want to sort out how to level that load
through judicious rescheduling?

>> But, both of these are front-loaded decisions; you
>> implement your strategy up front. They assume the
>> machine doesn't have its own agenda to implement
>> (i.e., you assume any periodic/scheduled tasks are
>> insignificant in terms of their resource impact
>> as you likely are unaware of WHEN they are triggered)
>>
>> It also assumes you can estimate the magnitude of a
>> workload /a priori/ -- usually from past experience.
>> I.e., you KNOW that a certain activity will be a resource
>> hog -- or not. "Surprises" brought about by unexpected
>> differences in task complexity are rare.
>>
>> What happens when something you've set out to do takes
>> considerably longer than you expected? Do you kill off
>> less important tasks? Renice them? Or, just grin and
>> bear it?
>
> Usually the latter.

I routinely kill off Firefox as it's process footprint seems
to just keep growing. Tbird often spins for the better
portion of a minute before painting its window into the display.

> The most annoying thing is when Windows in its infinite wisdom resets the flag
> that lets it reboot the machine willy nilly and without asking first. Some long
> running programmes are not interruptible. :(

And, a machine may be "active" (from the user's standpoint) yet
not detectable as such by the sleep timer. If your product allows
third party code to coexecute alongside "factory" code, then your
users are at the mercy of each of these vendors -- yet, they see
it as YOUR product that is "misbehaving".

>> How do you choose which activities to kill off/defer?
>> Is this a static decision or an assessment that is
>> made dynamically based on your perceived "need" of
>> certain work results?
>
> It is hardly ever worth meddling unless there is a really serious competition
> for either memory or disk access. Setting two programmes running together that
> you know will fight for resources is a recipe for trouble. It was very *much*
> more of a problem with spinning rust.

That falls in the
- let the machine work on ONE thing exclusively to
ensure it has all of the resources that it may need
strategy.

But, you have to LEARN that to be the case -- by running said apps
concurrently and "noticing" the conflict. That's the role for the
AI to fill so the user doesn't have to "tune the fish".

> Most CPU based computationally intensive things I do will saturate memory
> bandwidth at around 6 threads irrespective of the total number of CPUs/Threads
> available in the machine (typically now 8 or 12).
>
> One thing that is worth doing is experimenting with the maximum number of
> threads you allow very CPU intensive tasks to spawn. There is a sweet spot
> where you get the results marginally faster and with a lot less heat
> generation. Chess programme parallel implementations show this effect big time.
> Working out things quickly that then get thrown away!

My environment is more draconian than a desktop; I can enforce compute,
space, comms, etc. quotas to ensure no job "misbehaves".

But, depending on circumstances, a wiser move may be to kill off or
defer certain jobs to facilitate responsiveness for those that remain.
E.g., do all that telephone audio processing when the system load is
*naturally* lower (when is that? Ah, the AI knows!)

[Imagine the available hardware resources dynamically varying and
consider how the job selection criteria can change; pull a few
DRAM sticks out of your workstation or disable a few cores
WHILE it is "running normally". Would you still be happy with
the apps that are running, at that time?]

1
server_pubkey.txt

rocksolid light 0.9.8
clearnet tor