Send News. Want a reply? Read this. More in the FAQ.   News Forum - All Forums - Mobile - PDA - RSS Headlines  RSS Headlines   Twitter  Twitter
User Settings
LAN Parties
Upcoming one-time events:
Chicago, IL 11/17

Regularly scheduled events

User information for SMA

Real Name SMA   
Search for:
Sort results:   Ascending Descending
Limit results:
Nickname Scottish Martial Arts
Email Concealed by request
ICQ None given.
Homepage http://
Signed On Jun 16, 2002, 23:16
Total Comments 3169 (Veteran)
User ID 13410
User comment history
< Newer [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ] Older >

News Comments > Star Citizen Swapping DX12 for Vulkan
33. Re: Morning Mobilization Mar 19, 2017, 19:35 Scottish Martial Arts
TorchMaster wrote on Mar 19, 2017, 16:21:
Excellent example. I hope this helps non-programmers to understand. You are also obviously alluding to the unspoken question: does CIG impose strong engineering training and procedures, or do their disparate teams, from all over the world that have reported morale problems, just mash some code together?

Thanks. That question was definitely on my mind when I wrote the response, and the ever lengthening development time on the game gives some strong hints towards which of the two situations apply.
Reply Quote Edit Delete Report
News Comments > Star Citizen Swapping DX12 for Vulkan
32. Re: Morning Mobilization Mar 19, 2017, 19:28 Scottish Martial Arts
Quboid wrote on Mar 19, 2017, 16:16:
Scottish Martial Arts wrote on Mar 19, 2017, 14:49:
Good software engineering practices are in short supply however. If you're working for the in-house code shop for a company that is in some non-tech related industry, then chances are your software engineering practices consist of "Here's your deadline, regardless of technical feasibility or the time necessary to do it right: get something that (barely) works by then, and we'll fix any problems later (but later will never arrive). Then, as your codebase accumulates more and more problems, and gets more and more neglected, it will become harder and harder to make any forward progress, so in response we'll hire some barely competent contractors to 'help' you out, primarily by committing breaking changes to your production codebase and generally not knowing jack shit about computer science fundamentals or software engineering best practice."

Do ... do you need a hug?

Rofl, nah, that kind of engineering job is hopefully all in my past now. I actually start my new job with Google's New York office tomorrow morning. By all accounts, Google engineering actually knows what the fuck it's doing. My last job though...
Reply Quote Edit Delete Report
News Comments > Star Citizen Swapping DX12 for Vulkan
20. Re: Morning Mobilization Mar 19, 2017, 14:49 Scottish Martial Arts
Creston wrote on Mar 19, 2017, 11:58:
Seriously, someone who knows: How much work is it to switch from one API to another?

A serious but not back breaking undertaking if the system was well engineered to begin with; a gigantic cluster fuck if the modules that call the API were poorly engineered and too closely coupled to the specifics of the API itself.

Here's a simple, entirely contrived example: suppose you use a third party API with a function called add(a, b), which takes two integers, a and b, as arguments and returns their sum. Now suppose the developer of the API decides that that is too limiting -- after all, you often need to add more than two numbers -- and redesigns the function signature so that it's add(listOfInts), where listOfInts is an arbitrarily long list of integers. Now, your codebase breaks every place where you called add(a, b). You need to manually fix each call, perhaps changing your entire design for where you called add(), because this new add() function is really a different idea more accurately described as sumListOfInts() and you need to adapt accordingly. This is the cluster fuck scenario.

However, suppose rather than calling add(a, b) directly, you defined an interface with the signature add(a, b). You could then write an adapter class, which implements the add(a, b) interface by simply calling the 3rd party API. Now suppose the 3rd party API function signature change occurs. Rather than having to redesign any code that used add(a, b), you instead just design a new adapter class for the new API, still adhering to the previously defined interface. In this case, the new adapter which implements add(a, b) could take a and b, bundle them into a list, and then pass the list to add(listOfInts). Depending on the complexity of the API changes, this could end up being a non-trivial task, but on the other hand, it's just a matter of changing the implementation so that it still conforms to the interface definition. In this scenario, your codebase doesn't have to be redesigned, you just swap in your new adapter class. Ideally, you'll already have a unit testing framework in place for your old adapter class, so once you've designed the new adapter which uses the new API, you can confirm, through automated tests, that everything still works like it's supposed to, since both the old and the new adapter use the exact same interface and are therefore testable in the exact same way.

Good software engineering practices are in short supply however. If you're working for the in-house code shop for a company that is in some non-tech related industry, then chances are your software engineering practices consist of "Here's your deadline, regardless of technical feasibility or the time necessary to do it right: get something that (barely) works by then, and we'll fix any problems later (but later will never arrive). Then, as your codebase accumulates more and more problems, and gets more and more neglected, it will become harder and harder to make any forward progress, so in response we'll hire some barely competent contractors to 'help' you out, primarily by committing breaking changes to your production codebase and generally not knowing jack shit about computer science fundamentals or software engineering best practice."
Reply Quote Edit Delete Report
News Comments > etc.
23. Re: Morning Mobilization Mar 19, 2017, 12:30 Scottish Martial Arts
This speech from the 1993 film production of The Killer Angels, Gettysburg, seemed apropos to the conversation. To sum it up, no two people will ever be truly equal, but what matters is that we judge a person, not a group, and do all we can to treat each other justly and fairly.  
Reply Quote Edit Delete Report
News Comments > etc.
22. Re: Morning Mobilization Mar 19, 2017, 11:31 Scottish Martial Arts
NewMaxx wrote on Mar 19, 2017, 06:52:

To be clear, I have no illusions about the rest of the, non-Western, world. Human beings as a species -- until the post WWII period and even then only some us -- have oppressed, dominated, enslaved, and exploited other groups of human beings at least since the dawn of civilization, and almost certainly in our prehistorical hunter-gatherer period as well. This is a constant of human nature, regardless of race; it's just that since the Enlightenment, the West leapt so dramatically far ahead of the rest of the world, that we got really, really, really good at enslaving/oppressing/etc. for several centuries and thus the present global hierarchy, particularly with regards to race and ethnicity, is largely defined by the highly successful imperialist endeavors of Western Europeans during the 17th, 18th, 19th, and first half of the 20th centuries.

This does not mean Western European Whites are exclusively racist, or that East Asians, or Arabic Muslims, or Africans, or native/aboriginal peoples are some how innocent of all sin. It merely means that for the most recent few centuries, whites were better at exploitation than non-whites, and so non-whites got exploited hard -- where as in the past non-whites would have happily done the exploiting -- and that our present world is in many ways shaped by the success of White Europeans conquering the world. Particularly with regards to "Racism in America", the only way we start to have equality, where content of character matters more than the color of your skin and all that, is if we recognize, openly and with clear eyes, that American whites got to start the game of life on an easier difficulty setting than American blacks or other racial/ethnic groups. That doesn't mean all whites have easy lives, or that no white person ever experiences prejudice; it just means that the game is subtly rebalanced in your favor if you happened to roll white American for your race and national origin when your parents were drafting your character sheet.

Finally, as an aside, I am not one of those liberals who will pretend that all cultures are created equal. I believe the color of your skin or who your father was doesn't or at least shouldn't matter for who you are. But I do believe that certain cultures develop certain ways of doing things -- which is the definition of a culture -- which makes them more effective in certain realms of life, such as not starving during winter, not dying when sick, and being able to put a man on the moon as opposed to only gazing at the stars and wondering what they are. Clearly, Western culture has been highly, highly successful and I do not want to disparage its accomplishments (my first degree was in Classics, so it would be the strange reader of Latin and Greek who didn't see anything of value in the Roman and Greek past). But Western Culture's success in the post-Enlightenment period does not imply that Western culture is more moral, at least not by default. At its best the West provides a set of values and practices that allows more people to flourish and live in prosperity and peace than any other culture, but at its worst, it's just been far more effective at achieving mankind's basest and most animal of instincts: the need to dominate and wield power over others.

It's not that Whites or the West are the bad guys, at least not any more than any other race or culture, it's just that when we decided to be bad in recent centuries, we were really fucking good at it, and the world we live in in 2017 is still directly shaped by our ancestors decision to rule the world.
Reply Quote Edit Delete Report
News Comments > etc.
16. Re: Morning Mobilization Mar 18, 2017, 15:41 Scottish Martial Arts
As an aside, while racism against whites certainly exists, generally speaking, when "Racism in America" is being discussed, it's a discussion of how a dominant racial group, i.e. whites, used their dominance to exploit and oppress certain minority races and religious and ethnic groups, and simultaneously enshrined that dominance into the law and broader social hierarchy. Black people and Native Americans are both capable of negatively stereotyping and prejudging white people, but it wasn't white people who came here against their will in chains, to serve as chattel slaves, and then to be freed only to face lynchings and Jim Crow, and it wasn't white people who were driven from their lands and nearly hunted to extinction in the name of the "Progress of Civilization" and "Manifest Destiny".  
Reply Quote Edit Delete Report
News Comments > Out of the Blue
18. Re: Morning Mobilization Mar 18, 2017, 15:20 Scottish Martial Arts
Started to get settled into NYC. The West Village is completely awesome. Like, the best place I've ever lived awesome, even as a Californian having to adjust to wearing snow boots and a scarf in late March. It was 80F when I got on the plane in LAX! D:

For Battlefield 1 players, this guy is across the street from my apartment:

P.S. I think I'm going to have to invest in a DSLR. So many great photo opportunities around here, and I am distinctly missing manual aperture and shutter speed and longer focal length lenses which smartphone photography lacks.
Reply Quote Edit Delete Report
News Comments > Turok 2 Remaster Released
4. Re: Morning Mobilization Mar 18, 2017, 08:00 Scottish Martial Arts
Simon Says wrote on Mar 17, 2017, 14:44:
Is it just me or the "remaster" looks exactly like the original? Look at those textures... Common...

Compared to the N64 version, this is miles ahead. Was it remade using a modern graphics engine? No. But Turok 2 -- and it's predecessor, but Turok 2 was even worse in this regard -- was the game which started the, then yet-to-be-so-called, PC Gaming Master Race joke about "console fog". You literally couldn't see more than a few feet in front of you because the poor N64 didn't have enough video memory to be able to render more than that.

I think people tend to forget how shitty console shooters looked in the late 90s. Low-res textures and low-poly models aside, these games were being played on CRT televisions at 320x200. What they've done with this "remaster" is brought the game from late 90s console shooter to early 00s PC shooter standards (think Return to Castle Wolfenstein in terms of poly-counts and texture resolution) and then layered on some modern graphical effects, like motion blur, which is actually kind of cool, adding to your panic, when you're getting swarmed by the fast mini-dinos who don't do much damage but are hard to hit and always attack in groups.

This wasn't a remake, but as a "remaster" it's certainly improved upon a game which had some genuinely great level design. By far the best game in the series, and it was all downhill -- fast -- after this.
Reply Quote Edit Delete Report
News Comments > Deus Ex: Mankind Divided Criminal Past DLC for Linux
1. Re: Morning Mobilization Mar 17, 2017, 09:25 Scottish Martial Arts
Glad to hear the Mac version is coming. This game has a massive install footprint (75GB), which is simply to big to have on my 256GB Windows 10 partition. I was really surprised at how well it performs in DX12 mode on my new MacBook Pro: 30fps at High Settings. That doesn't come close to what my GTX 1070 could do, but the Radeon 460 in my new laptop seems to be handling gaming surprisingly well: everything is entirely playable, even if for the same amount of money I could have built a beast of a desktop PC. But then, my new West Village apartment doesn't really have room for a full desktop gaming PC setup, and I bought this laptop primarily as a software development machine, and a (perfectly serviceable) gaming PC a distant second.  
Reply Quote Edit Delete Report
News Comments > Out of the Blue
26. Re: Morning Mobilization Mar 17, 2017, 08:37 Scottish Martial Arts
jdreyer wrote on Mar 17, 2017, 05:30:
Second, if (and that's a big if) you are going to reboot a franchise, there are ways to do this. DO NOT do a soft fucking reboot. Jesus. Tell an original story.
The Force Awakens: NO
Batman Begins, X-Men First Class, Casino Royale: YES, YES, YES

Did you have complaints about The Force Awakens beyond the plot being a greatest-hits album of the original series? The prequel trilogy told an original story, but were so god awful I ceased being a Star Wars fan for a while. In contrast, TFA felt like a retelling of a story I've heard before that did just enough different, and was hitting all of its notes so perfectly, that I could call myself a fan again. Rogue One in turn left me disappointed: I loved the new, grittier take on Star Wars universe, with an emphasis on the Wars part, but the characters were so completely flat, and the plotting so muddled, that there was very little to get engaged with once you got past the unique concept. For example, the ending could have been utterly devastating, but instead it was merely surprising, simply because the characters were written to have toys made of them, not to be actual human beings you cared about.

Oh, and Casino Royale had actually been produced before, again closely following the plot of the original novel (but without the extended prologue the 2006 film added). It had been done as a made-for-TV movie for one of the major networks, around 1960 or so, and had been adapted so that the main character was 'Jimmy Bond' CIA agent, US Treasury agent Vesper Lynd, and Bond's MI6 pal Felix Leitner lending a hand from the British Crown. I haven't seen it, and I doubt it's any good, but Casino Royale had in fact been done before. Plus, there was the Woody Allen parody film.
Reply Quote Edit Delete Report
News Comments > Out of the Blue
24. Re: Morning Mobilization Mar 17, 2017, 01:05 Scottish Martial Arts
I actually bought a Deathadder Elite just this past Tuesday too. I realized I had accidentally packed my gaming mouse with my desktop, and so it's currently in a moving truck. Given that my circa 2012 Deathadder was looking a little worse for wear, I decided to just spring for a new one to tide me over for laptop gaming while I wait for my stuff to make it to NYC. I had issues with the scroll wheel about 6 months after I bought it, but then it mysteriously fixed itself and the mouse had held up pretty well since. Mostly it just looked shabby.

My laptop these days is one of the new MacBook Pros, but with a Windows 10 partition for gaming. I'm actually kind of shocked at how good the performance is. The Radeon 460 Pro isn't a match for my GTX 1070 in my desktop, but it lets me play Battlefield 1 and Doom on high settings with frame rates hovering in the mid-40s, i.e. totally playable. Plus, I checked the specs, and the CPU and memory in the laptop are actually superior to what I've got in the desktop. Paying the Apple tax fucking sucks, but having a great software development laptop that doubles as a perfectly serviceable gaming machine is pretty sweet.

Speaking of gaming while traveling, I just checked into my hotel here in Greenwich Village about an hour ago, and am now officially a New Yorker. I get the keys to my West Village apartment tomorrow. Excited!
Reply Quote Edit Delete Report
News Comments > Out of the Blue
23. Re: Morning Mobilization Mar 15, 2017, 22:16 Scottish Martial Arts
Creston wrote on Mar 15, 2017, 15:43:

$3500 rent, right?

$2950 for a 1bd/1bath... yeah, everything has its downside. Toss in brokerage fees and the security deposit and there was some definite sticker shock when it came time to get the cashier's check for move-in.
Reply Quote Edit Delete Report
News Comments > Out of the Blue
20. Re: Morning Mobilization Mar 15, 2017, 09:52 Scottish Martial Arts
Beamer wrote on Mar 15, 2017, 00:19:
Wallse? Still haven't tried it, somehow. I always forget it's there. It's always emptyish. You have another within a 6 min walk, and one that just lost a star even closer.

And crispo right there!

The Spotted Pig, with only a single Michelin star. I don't think I've ever eaten in a Michelin rated restaurant: the menu looks good so I think I'll start here (after I get my first paycheck, move-in costs for NYC have drained my non-"break glass in case of fire" bank accounts).
Reply Quote Edit Delete Report
News Comments > Out of the Blue
16. Re: Morning Mobilization Mar 14, 2017, 19:09 Scottish Martial Arts
jdreyer wrote on Mar 14, 2017, 18:36:
On the downside, there's no pr0n industry in NYC to work weekends on the side.

ROFL. Hey, I was young and needed the money! While I suppose I'm now permanently disqualified for running for political office, I don't regret the experience of doing a couple pr0n shoots: at this point in my life, it makes for a good "you won't believe what crazy shit I was up to right out of college" story.

Nice scenery in that pic. Also, the beach and the sunset were nice too.

Hehe, once I realized I had gotten a great shot, I tried to flag her down to see if she wanted me to email her a copy of the photo (or delete it if she wasn't comfortable with having been photographed), but by that point her friend had caught up with her and they were already skateboarding off down the bike path.
Reply Quote Edit Delete Report
News Comments > Out of the Blue
6. Re: Morning Mobilization Mar 14, 2017, 12:15 Scottish Martial Arts
descender wrote on Mar 14, 2017, 11:45:
I would like to stipulate that most people in NYC are nothing like the spoiled yuppie assholes you find on the upper east-side of Manhatten. Downtown LA is filled with those same exact assholes.

I used to think NYC was a cesspool of homeless beggars... but then I visited San Diego... holy shit. Talk about culture shock.

Personally, I like living where the earth doesn't try to shake me off the planet. I can deal with a few indoor days during the winter in exchange for my house not falling on my head.

Downtown LA is pretty chill these days. I mean you do have self-envisioned "Super Important People" types running about, but mostly it's a collection of diverse, interesting people going about their daily business, with great food, great street art, great architecture, and something interesting around every corner to keep you engaged. The real assholes are on the stretch of Santa Monica Boulevard that runs through Beverley Hills, i.e. the blocks around Rodeo Drive and Roxbury St: expect to be cut-off or nearly run over by assholes in Maseratis and Bentleys as you window shop in luxury stores that requires a 7 figure salary to get through the door.

As for earthquakes, I've been living in California (with a few short breaks) since the late 80s, and the only earthquake that actually felt like a natural disaster was the '89 Loma Prieta quake. I can still remember looking up from my legos, in utter shock, towards my mom, who was swooping me up and getting us under the dining room table. Due to a transformer blowing out, we didn't have power for I think 48-72 hours. But other than that, every other earthquake I've experienced has either been so minor, I haven't noticed it and/or slept through it, or the earthquake was noticeable but short and minor and didn't cause any damage. Of the noticeable earthquakes of the past 25+ years, I've probably only noticed a half-dozen.

Personally, the part of nature that's out to get us Californians isn't the San Andreas fault line, but the snowpack in the Sierra Nevadas: when it doesn't snow in the Sierras, the state doesn't have water, at least not enough for the amount of people and agriculture we have.
Reply Quote Edit Delete Report
News Comments > Out of the Blue
3. Re: Morning Mobilization Mar 14, 2017, 11:40 Scottish Martial Arts
BobBob wrote on Mar 14, 2017, 11:12:
It's not just the weather. Compared to Southern Californians, the people there seem a lot more stressed out, pushy, in your face, and take themselves far too seriously. I regularly visited Manhattan Upper East Side many years ago. I prefer our laid-back California beach culture that we have here. You too may realize that distinctive cultural difference and wish to return.

Good luck. Thumbsup

Yeah, it's been kind of bittersweet to say goodbye to my home state. I'm super excited to live and work in Manhattan but California, both NorCal and SoCal, is home. On the other hand, on Saturday, I took a trip out to the Getty Villa in Malibu as part of my goodbye to LA tour, and it took nearly two hours to get there, and nearly two hours to get home. On a Saturday. In contrast, I'm going to be a 10 minute leisurely walk from work in NYC, laundry service is available right next door, a grocery store is one block away, and the pharmacy is two blocks away. Oh, and a Michelin-rated restaurant is also two blocks away. So while the weather and less laid-back people will take some getting used to, the fact that I won't be contemplating suicide every time I get on the 405 will be a definite advantage.

That said, it's hard to say goodbye to something like this: I took this photo at Venice Beach last week
Reply Quote Edit Delete Report
News Comments > Out of the Blue
1. Re: Morning Mobilization Mar 14, 2017, 10:44 Scottish Martial Arts
I was supposed to fly to New York today, but the blizzard means it's going to happen Thursday instead. My job doesn't start until Monday, so things should still all work out, but I had a brief moment of panic Sunday night when the airline emailed me to say that my flight had been cancelled. In the meantime, I get to enjoy a few more days of 78F and sunny weather here in early spring Los Angeles before deplaning into sub freezing temperatures at LaGuardia. Why am I moving to NYC again?  
Reply Quote Edit Delete Report
News Comments > Saturday Tech Bits
17. Re: Morning Mobilization Mar 12, 2017, 10:49 Scottish Martial Arts
HoSpanky wrote on Mar 12, 2017, 10:21:
I'm not really in the market for a new processor yet, but currently it's still looking like Intel's gonna get my money.

Yeah, for gaming, the i7 7700k is definitely the best bang for buck right now. If you're a video editor, or software engineer, or anyone who does work that does benefit from parallelization Ryzen become a lot more compelling: if you want to stick with Intel and go beyond four cores, then you're starting to enter server CPU land, with all the attendant price increases.
Reply Quote Edit Delete Report
News Comments > Saturday Tech Bits
15. Re: Morning Mobilization Mar 12, 2017, 09:02 Scottish Martial Arts
Agent-Zero wrote on Mar 12, 2017, 00:39:
seems to imply that a single Ryzen processor appears to act like a dual CPU system, is that correct? thats bizarre, because I figured that multi-core CPUs were already acting like that to some degree, but i suppose it must be different in terms of how the system buses work with that

Having now read the article in full, the CCX and Infinity Fabric architecture do indeed appear to cause the Ryzen to behave as though a Ryzen chip is two 4-core CPUs on a single die. While that may sound like a distinction without a difference, it's actually quite important, and the benchmarks are clearly showing substantially more overhead for a context shift across the Infinity Fabric as opposed to a context shift within a CCX.

As you probably already know, a process is a program that has been loaded into memory and is in a runnable state. More importantly, a process has associated with it a virtual memory space, i.e. each memory address the program references is not the location in physical memory but rather a mapping to the actual physical address. Additionally, the process maintains a series of data structures containing the state of the process, i.e. the contents of the various CPU registers at a given moment of execution, among other things, allowing it to be stopped and started with the process itself none the wiser. However, if a process needs to communicate with another process, the virtualized address space means that they are effectively partitioned from one another, and while there are several different ways to handle inter-process communication, they basically all involve one or more processes blocking (waiting) on I/O calls, which slows down processing dramatically. It would be far faster if you could just share a virtualized address space, and that's what threads do: they are mini-processes that maintain their separate execution states but share their virtualized address space allowing rapid in-memory communication without resorting to high-overhead I/O calls or context switches (switching which process is actively running on a core). The downside of threads is that the shared address space makes it extremely easy to write code where the results depend on the order in which the CPU schedules threads (race condition) which leads to all sorts of subtle and hard-to-detect bugs.

What this means for our discussion is that it's possible to have parallel execution, or at least a facsimile of it, with even a single core CPU. The OS let's one process/thread run either until it hits a specific time limit (quantum) or blocks on I/O, and then the OS saves the state of the process and swaps in another one to let it run. Since CPUs execute literally billions of instructions per second, this all happens so fast that to us slow humans, it appears like the computer is doing multiple things at once. Add more cores, and you really can run more processes/threads at once. Importantly, with a HyperThreaded (Intel's term) CPU, you're still only executing one process/thread per core at any given instant, but in the case of threads, with their shared address space, architectural optimizations allow for extremely fast context switches between the threads of a process, which in turn means the CPU presents itself to the OS as having x physical cores, each composed of y (usually two) virtual cores.

The hypothesis was that the Ryzen wasn't correctly enumerating which of its virtual cores were part of the same physical core to Windows, and therefore the NT kernel wasn't scheduling threads to the right virtual core in order to leverage the AMD equivalent of HyperThreading. But the benchmarks show that isn't the case: Windows understands which virtual cores belong to which physical core, it's just that the Ryzen architecture has a heavy context shift penalty across the two CCXs. A patch to Windows will allow it to optimize for avoiding context shifts across the CCXs, but that still won't change the fact that any context shift across CCXs will be much slower than a context shift within a CCX.

Why does this happen? Without knowing the specifics of the Ryzen architecture, it has to come down to caching. Memory varies in it's speed, it's volatility, and it's price. Accordingly, on the CPU die itself you have several levels of expensive to manufacture but extremely fast memory that loses its state on power down (volatile); then you have main memory, which isn't as fast and still loses its state on power down, but is much cheaper than on-die cache memory; and finally you have persistent storage in the form of SSDs and HDDs, which are very slow to access relative to the other memory, but make up for it by being very inexpensive.

The trick for an operating system is to place the code that is most likely to be needed, and needed repeatedly, in the fastest levels of cache, so as to optimize the CPUs instruction retrieval speed (it can't execute what's still in transit over the various busses). Aside from repeatedly executed procedures and repeatedly retrieved data, the OS is probably also going to put some or all of its process bookkeeping data in some level of on-die cache, so it can minimize the time necessary to context switch between processes. Again, without knowing the specifics of the Ryzen architecture, if the two CCXs are maintaining separate, likely L3, caches, then any context switch across CCXs loses the context switch optimization which the shared cache within the CCX provides.

So where does this leave us? A patch to Windows can make the NT kernel's scheduling algorithm aware of the Ryzen context switch penalty across CCXs, and allow it to be smarter, but the penalty will still be baked into the Ryzen architecture no matter what Microsoft, or any OS developer does.

tl;dr Operating Systems leverage shared L3 caching to minimize the overhead of swapping processes and threads across multicore CPUs. Since Ryzen partitions its two CCXs, no such optimization is possible for context switches between CCXs. Windows can be patched to minimize cross CCX context switches, but when such a switch is unavoidable then there's nothing Windows can do but incur the extra overhead baked into Ryzen's architecture.
Reply Quote Edit Delete Report
News Comments > Saturday Tech Bits
7. Re: Morning Mobilization Mar 12, 2017, 00:09 Scottish Martial Arts
Agent-Zero wrote on Mar 11, 2017, 17:38:
Im not a Windows or OS programmer, so I have no idea how true this may be - but I would have suspected the lack of performance of new AMD chips in terms of 1080p gaming and other gaming related tasks would be more likely due to the way games themselves are coded...

It's an interplay between how parallelizable the computation is, i.e. how much work can profitably be done simultaneously, how much of the computation is actually parallelized and how well that parallelization is implemented, i.e. how the game/application is programmed, and how the operating system spreads the parallelized computation, e.g. processes and threads, across the multiple cores, and how the OS schedules those processes and threads that have been tasked to a given core.

If the same program on the same hardware produce different benchmarks for different operating systems, then you are probably seeing the results of different operating system process/thread scheduling algorithms. After all, the purpose of an operating system is to A) provide a clean abstraction of the hardware for programmers to access through an API, and, more apropos to this discussion, B) maximize the utilization of the hardware. In other words, it's an OS responsibility to schedule the CPUs workload to make best use of the hardware.

However, parallel programming is a really difficult and sticky business. Even though we've long had the ability to parallelize computation, first through software abstraction and later with the hardware itself, we still haven't found an effective, generalized approach to parallel programming that allows us to consistently yield substantial performance gains while simultaneously avoiding a set of very subtle and tricky bugs specific to parallel execution, e.g. race conditions, bad data synchronization, and deadlocks. In other words, parallel programming presents a series of unsolved computer science problems for which we only have haphazard solutions. If you ever solve this stuff, you'll definitely earn yourself an ACM Turing prize (the Nobel of computer science).

If I had to guess, the Windows 10 version of the NT kernel is using a different process scheduling algorithm than that of Windows 7, and that while that different algorithm almost certainly yielded gains in some key areas, it has led to performance loss with respect to Ryzen and certain game benchmarks.
Reply Quote Edit Delete Report
3169 Comments. 159 pages. Viewing page 4.
< Newer [ 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 ] Older >

Blue's News is a participant in Amazon Associates programs
and earns advertising fees by linking to Amazon.


Blue's News logo