Olympus-OM
[Top] [All Lists]

Re: [OM] Linux/Photoshop question

Subject: Re: [OM] Linux/Photoshop question
From: Chuck Norcutt <chucknorcutt@xxxxxxxxxxxxxxxx>
Date: Thu, 28 Jul 2016 20:50:04 -0400
I'm in no hurry to dump Win7 but I do want to be prepared with a replacement plan when this machine eventually fails. Win10 is not likely to be part of that plan.

It's too bad the performance testers didn't test anything other than i7 and Xeon. There is a 3.9 GHz i3 available that has single thread performance almost as good as the 4 GHz i7 4790K mentioned as the top i7 performer in your performance link below. If Photoshop does not make extensive use of multi-threading then a really fast i3 or i5 may perform quite well overall.

You're right. Mult-threading can't be done with just a compiler switch. I haven't written any code to speak of in about 30 years. But when I was the system test manager for OS/2 and, in the early days, when we were still using 80286 processors and diskettes for installing the OS we had a severe installation performance problem.

As it turns out 3-1/2" diskettes have a hardware based timeout function on the drive motor. If you allow the diskette to stop reading for a relatively short time the drive motor timer will turn the diskette drive off. Turning it back on again is a slow process since the diskette must get back up to speed from a standstill. The original installation software was a straightforward, single threaded app that simply read a chunk of data into a single buffer and then wrote that to the hard drive and then looped back for more. The problem was that by the time the program was ready to read the next chunk of data into memory the diskette drive had turned itself off and forced the read operation to wait until the drive came back up to speed.

The solution I developed used 3 threads. One thread handled the diskette reading, one thread handled the buffer management and the third thread handled the writing to the hard disk. This is the only multi-threaded thing I ever wrote and it's pretty simple stuff. But, though simple, it does point out that multi-threaded apps are different by design and the various threads must synchronize their activities with each other. The read thread has to know where to place the incoming data whose location is constantly changing as the other threads do their jobs. The buffer manager keeps these things straight between the read and write threads and the write thread has to know where to get the next piece of data. Since they're running asynchronously they need to synchronize between themselves so one doesn't get ahead of or behind the others. For example, reading data from the diskette is much slower than writing data to the hard drive so the write thread spends most of its time waiting on the read thread. In OS/2 synchronization is handled with semaphores... sort of like a railroad red/green semaphore light that says whether it's OK to proceed or not. When written in 80286 assembler this process was fast enough that the diskette drive never turned off and software installation was much faster.... important when you're trying to read, IIRC, about 13 diskettes.

Unfortunately, I still didn't get an answer about running Photoshop on Linux. WINE or Win7 virtual machine?



On 7/28/2016 4:54 PM, Moose wrote:
On 7/28/2016 4:49 AM, Chuck Norcutt wrote:
I've pretty much decided that Win 10 is not for me but whatever
replaces my Win 7 must run Photoshop.

Why the worry/rush? Many huge companies have only recently moved to
Win7. It's going to be supported for a long time. I'll be following my
usual policy, upgrading OS when it comes installed on a new machine (or
I install fresh on a machine I've put together). As I need the XP
virtual machine of Win7 Pro for business, I won't convert my desktop,
and I can't see what advantage 'upgrading' my 6+ year old netbook+ would
have.

I dipped my toe into the Apple universe last December with an iPhone 6s.

We have two iPhones and two iPads. I'm not sure what that has to do with
choice of computer and OS to run PS. Mac and iThingies, iOS and MacOS
are essentially only related by parent company.

That has caused me to at least consider a Mac Mini but the price is
very high for a fixed configuration which dates to 2014.  I don't know
but suspect that much of Photoshop would not utilize the
multi-threading capabilities of an Intel i7.

There's a lot of info/blather about that around. This test uses a pretty
good looking testing procedure to show that, while many PS functions are
indeed single threaded, many of the most processor intensive ones are
multi-threaded and increase 3-4 times in speed, occasionally more, with
the first few cores.
<https://www.pugetsystems.com/labs/articles/Adobe-Photoshop-CC-Multi-Core-Performance-625/>


Several of the functions that are sped up a lot are ones I use a great
deal. I've also been quite impressed at the speed with which my machine
can convert/load a dozen Raw files in a stack and align them, then merge
them. That's a LOT of calculations. No, it's not instant, but not that
slow, either, considering what it is doing. My recollection of stacking
and creating panoramas on older PS and a slower, single threaded machine
is of a great deal more work on my part and lots and lots more
processing time.

I'm running the (next?) prior version of the processor he recommends;
Intel Core i7 4770K 3.5GHz Quad Core (8 threads), (apparently still a
current model) with 16 GB of RAM.

This makes sense if one assumes that Adobe is not entirely brain dead.
Just as in the old days developers would identify the parts of an app
that had the greatest negative effect on overall performance and code
them in assembler, it appears Adobe may have targeted similarly in
choosing which functions to expand to multi-threading.

I gather that converting a process to multi-threading is not a simple
thing like changing a compiler option, but requires at the least lots of
recoding, and often starting from scratch.

So, in selecting a processor, I would try to maximize single thread
performance which means clock speeds of 3GHz or more.  But the only
way to get that clock speed in a Mac Mini it to buy the i7 version at
$1300.

That leaves a custom built machine running Linux with Wine or maybe a
virtual Win 7 to run Photoshop.

I still don't understand the rush to leave Win7. It's current, stable
and runs PSCC well.

Anyone have experience with this and a recommendation?  Am I wrong
about the degree of multi-threading in Photoshop?

Mostly, yes, you are wrong, perhaps not on number of m-t processes, but
on their significance to practical use.

Hetero Tasking Moose

--
_________________________________________________________________
Options: http://lists.thomasclausen.net/mailman/listinfo/olympus
Archives: http://lists.thomasclausen.net/mailman/private/olympus/
Themed Olympus Photo Exhibition: http://www.tope.nl/

<Prev in Thread] Current Thread [Next in Thread>
Sponsored by Tako
Impressum | Datenschutz