Wikipedia:Reference desk/Archives/Computing/2018 January 17

Computing desk
< January 16 << Dec | January | Feb >> Current desk >
Welcome to the Wikipedia Computing Reference Desk Archives
The page you are currently viewing is a transcluded archive page. While you can leave answers for any questions shown below, please ask new questions on one of the current reference desk pages.


January 17

edit

Speculative execution exploits and effect of their patches

edit

CPU exploits attacking speculative execution are in the news, with patches coming out. I've heard that these patches can slow down the computer. I run some programs with a lot of looping, so I suppose that they are doing a lot of speculative execution. How much do these patches affect something like that? Bubba73 You talkin' to me? 03:44, 17 January 2018 (UTC)[reply]

Apple published its claim that security patches to address speculative execution vulnerabilities "resulted in no measurable reduction in the performance of macOS and iOS..." as measured by many common benchmarks. In other cases, a small performance hit was measured.
In its detailed whitepaper, Intel's analysis of speculative execution side-channel attacks suggests that mitigation, in the linux kernel, resulted in "minimal performance impact."
It is important to understand that the mitigations proposed are categorically not disabling speculative execution. Rather, the concept embodied in these fixes is to prevent the side-channel information leak. In some cases, this enforces serialized memory ordering or induces a pipeline stall; those cases yield slower performance.
Excerpting Intel's statements: "Note that the insertion of LFENCE must be done judiciously; if it is used too liberally, performance may be significantly compromised. ... Intel’s analysis of the Linux kernel for example has only found a handful of places where LFENCE insertion is required, resulting in minimal performance impact."
The effectiveness and provenance of these fixes will surely be analyzed by many researchers over the next weeks, months, years. Keep in mind that in the case of correct enforcement of serial operations, this means the CPU will stall, instead of executing exploitative instructions at high performance. In a perfect world, these changes only impact exploitative abuse of speculative execution. In practice, it's up to the skill and effort of each system vendor to provide a fix with low side effects - we still want all non-exploitative instructions to proceed with low latency.
You may see different performance, depending on your use case, and on your CPU type and operating system.
Nimur (talk) 05:07, 17 January 2018 (UTC)[reply]
I'm using Intel I7s with Windows 7 and 10. Bubba73 You talkin' to me? 06:41, 17 January 2018 (UTC)[reply]
Understanding the performance impact of Spectre and Meltdown mitigations on Windows Systems, from Microsoft's vice president for Windows Software.
"i7" is an entire family of CPUs - if you're running an i7 CPU newer than c. 2014 era, you probably will see very little impact. "With Windows 10 on newer silicon (2016-era PCs with Skylake, Kabylake or newer CPU), benchmarks show single-digit slowdowns, but we don’t expect most users to notice a change because these percentages are reflected in milliseconds." If you have an older i7:
"With Windows 10 on older silicon (2015-era PCs with Haswell or older CPU), some benchmarks show more significant slowdowns, and we expect that some users will notice a decrease in system performance. With Windows 8 and Windows 7 on older silicon (2015-era PCs with Haswell or older CPU), we expect most users to notice a decrease in system performance."
If you aren't sure which CPU vintage your i7 is: How to Identify My Intel® Processor, a software tool from Intel that works on Windows.
Nimur (talk) 16:00, 17 January 2018 (UTC)[reply]
One of mine is a Haswell but most are Sandy Bridge and two are Ivy Bridge. :( Bubba73 You talkin' to me? 23:24, 17 January 2018 (UTC)[reply]
Can cause up to 30% performance loss on Haswell and older CPUs i have read. You can check how much performance your programs take from your cores. Windows has some monitoring tools build in to check the performance of selected processes and there are allot additional tools available from 3.parties for such tasks. So you can find out the exact answer for your PC and workload right after reading the windows help or here about the monitoring tool "perfmon". --Kharon (talk) 02:29, 18 January 2018 (UTC)[reply]
That is way too much of a performance hit for me! Only one of my computers has sensitive data on it. From what I read, these patches are disabled by default. Is that right? Bubba73 You talkin' to me? 03:30, 18 January 2018 (UTC)[reply]
I'm running performance monitor on two computers running a light load, and it is showing as expected. However, my main applications take all of the CPU, so I won't be able to tell if the patch is affecting them, will I? Bubba73 You talkin' to me? 04:30, 18 January 2018 (UTC)[reply]
You can measure performance by the time some application needs to solve a task like counting/looking up Kernal time or cycles or how long it takes to get a result. If you have multiple computers in a local net its generally a bad idea to not update all for whatever reason. That sounds like opening the toilets of an army base for public access because "there are no weapons stored in there". --Kharon (talk) 15:18, 18 January 2018 (UTC)[reply]
There are 17 computers on my network (18 if you count my wife's, but I don't use it) - all of them are being updated but I can't tolerate a 30% performance hit! I'm running task manager and performance monitor, and they aren't showing a performance hit when not much is running. Does this performance hit only apply when a program is running?
Have you read the links discussing this which have been provided? As nearly all the links discussion this say, the precise performance hit will depend on the specific workload [1] [2] [3]. If you have specific workloads in mind on your 17 computers you should measure the performance of these, and probably some far more reliable way than in looking at Task Manager. (I.E. The average runtime of some repeatable test or some similar benchmark.) If it's something that matters to you and these aren't new workloads, then I would expect you already have one and probably more measurements from before, so you can now see if or how things have changed that the patches have been applied. (Of course if it's extremely important you probably should have measured it on one or more test systems before applying the patches [4].) If it is a new workload, or for some reason even though it does matter, you don't already have reliable measurements which you can use for comparison you could probably find a way to downgrade to the prepatch state to get prepatch measurements if you manage these computers. If you just want a general idea of how things are going to change various people are testing this e.g. the earlier Intel benchmarks, and Intel have said [5] they are in the process of collecting more data so you can pay an eye on these although when viewing these you should recognise, as anyone should, it's not always easy to know how these are going to translate to your specific workload so if you do have a specific workload in mind you should test it rather than worrying about general issues which don't apply to your specific requirements. Nil Einne (talk) 03:15, 19 January 2018 (UTC)[reply]
I've mostly read the ones that apply to Intel and Windows, and I see you've given me several more to read. The best thing would be if I had pre-patch benchmarks on the things I do - I made those but I didn't keep them in an organized way. But I do have Geekbench benchmarks from before. I did updates before I know about the change. Bubba73 You talkin' to me? 03:30, 19 January 2018 (UTC)[reply]
I've read more, and Intel's figures for CPU-intensive integer operations isn't too bad. However they measured on a new Xeon, whereas I have old I7s. I found this website https://www.grc.com/inspectre.htm that says whether or not you are vulnerable and gives you the option of disabling protection. I can try that (but don't have the time right now) - to compare the kind of stuff I run. Only one of my computers has sensitive data on it. About three of them still have Windows 7 so I might need to upgrade them to Windows 10. Bubba73 You talkin' to me? 03:53, 19 January 2018 (UTC)[reply]

I've used that program to test my main computer (a Haswell) and one of my number-crunchers (an Ivy Bridge). The Haswell is protected against both and performance is "good". The Ivy Bridge is not protected against Spectre and performance is "slower". Bubba73 You talkin' to me? 04:03, 19 January 2018 (UTC)[reply]

Test results

edit

I've been gone a few days, but I ran some tests on two of my computers on a CPU-intensive program I'm developing now. Both have Windows 10. The first is a 4.0 GHz Haswell I7 - overclocked so no Turbo Boost and the second is a 3.4GHz Ivy Bridge, with Turbo Boost.

On the Haswell, InSpectre (repease #5) says that it is not vulnerable to Meltdown but is vulnerable to Spectre and performance is good. On it the test program runs in 126.5 seconds.

On the Ivy Bridge, Inspectre says that is is not vulnerable to Meltdown but is vulnerable to Spectre and performance is slower. There is a button to enable or disable Meltdown protection, but it does not change the text in the window.

On the Ivy Bridge, the program took 141.1 seconds to run with Meltdown protection enabled and 141.0 seconds with it disabled. This is such a small amount that enabling or disabling the Meltdown protection (if it works) doesn't have a measurable effect. Also, the difference between 126.5 seconds on the Haswell and 141.1 seconds on the Ivy Bridge can probably be accounted for by the newer CPU running at a higher clock rate.

So for this little test, I don't think I'm seeing any slowdown. Bubba73 You talkin' to me? 20:22, 23 January 2018 (UTC)[reply]

Printing 2015 Tax Return from Turbo Tax

edit

I have Turbo Tax 2016 (Tax Year 2016, Filing Year 2017) installed. This is the version that installs on my PC and maintains the return on my PC. What I want to do now is to open my 2015 tax return (filed in 2016) and print it. This year I have decided that I will have a CPA prepare my taxes, so I don't have a 2017/18 version of Turbo Tax. I succeeded in printing my 2016 return, but I need to print my 2015 return to mail it to the CPA. If I try to open the 2015 return, it tries to "transfer" it, that is, to use the data in it as a skeleton for me to create a new return. I don't want to transfer it. I want to print it. I don't have Turbo Tax 2015 installed on this PC; it was installed on an older PC that failed, but the hard disk was recovered.

How do I print the old return? Robert McClenon (talk) 03:54, 17 January 2018 (UTC)[reply]

Customer support may be a good start. Log into the TurboTax website and talk with a representative by copying and pasting the message you sent here as it is kinda made for those sorts of things. 129.55.200.20 (talk) 16:17, 17 January 2018 (UTC)[reply]
For a different approach, you can get a copy of a previous tax return you filed from the IRS. You will need some information to identify yourself. I'm not sure if all states that assess income tax offer this for their returns. Check with your state tax agency, if applicable. --47.157.122.192 (talk) 09:41, 19 January 2018 (UTC)[reply]
Also, you say "the hard disk was recovered". What do you mean? Did you run the manufacturer "recovery" software and wipe the disk? Or did you copy the data somewhere? If TurboTax was installed, and you have access to the disk's data, you can probably just copy the old TurboTax onto your current PC. Everything might not work perfectly, but all we need is for it to spit out the return. Or, do you have an Intuit account that you used with the 2015 version? If so, it looks like you might be able to download the past version at no cost. Worst case scenario, you can probably buy a used copy. --47.157.122.192 (talk) 09:56, 19 January 2018 (UTC)[reply]
Let me clarify. First, I have in the past had a real problem with technical support from Intuit. Does someone have a phone number that will actually get a human? I don't want another robot. Alternatively, do they have a "chat" facility to talk to a human? Robert McClenon (talk) 16:10, 19 January 2018 (UTC)[reply]
Second, I have the original Tax2015 file. I also have the image of 2015/2016 Turbotax. However, it won't launch properly, which doesn't surprise me at all, because it isn't being installed in a way that updates the registry. So I can't run the original old Turbotax program. I would be satisfied with running the 2017 program if it would load the tax file correctly, rather than "transferring" it, that is, loading it as a skeleton. Robert McClenon (talk) 16:10, 19 January 2018 (UTC)[reply]
Third, I don't understand the question about the manufacturer. I have a copy of everything that was on the hard disk. Robert McClenon (talk) 16:10, 19 January 2018 (UTC)[reply]
Fourth, I don't want to spend a month or two waiting for the IRS to provide me with a copy of the return.

Are there any more questions or answers? Robert McClenon (talk) 16:10, 19 January 2018 (UTC)[reply]

I'm assuming you mean you have the .tax file for your 2015 tax return. This page suggests you need to have the right version of TurboTax for the tax year [6]. Is your version of TurboTax from a CD or a download? If it's a download I think you can probably get the older version from here by clicking on the 'Access my downloads' link and logging in [7]. Once you have downloaded the version of TurboTax suitable for your tax file, you need to install it. For Windows this probably involves running the file you downloaded, or if it's a archive file, extracting it and then running the file called setup or installer or whatever. If you have the CD version, it's possible if you registered you can download a copy. If not, you will need to find the original CD and install it. I'm not really sure what you mean by 'image of 2015/2016 Turbotax'. Is this an image (ISO) of the CD? Or the downloaded installer file? If it's either of these you could mount the image and install from there. If it's simply a copy of the installed program, getting these to work can sometimes be difficult or almost impossible, so it's often far better to try and get a copy of the installer. Considering the hoops Inuit makes you jump through, may I suggest it may be useful to keep a printed PDF or XPS copy of the tax return rather than simply the .tax file. BTW have you tried asking the CPA whether they are able to accept .tax files from TurboTax 2015/2016? Nil Einne (talk) 04:06, 20 January 2018 (UTC)[reply]