Performance of Intel Customer Scripts (CScripts)

In a previous blog, I shared some prospective information on the real-time performance of Intel CScripts, when run on our SourcePoint debugger, versus legacy methods. This article contains quantitative measurements, and supports the theory that SourcePoint yields much higher throughput.

Intel provides a group of scripts to its customers that use In-Target Probe (ITP) to provide validation, test and debug facilities when doing board bring-up or debugging hardware/firmware designs. These Intel Customer Scripts have classically been called “CScripts”. In the Performance of Intel CScripts blog, it was described how our SourcePoint debugger could run a complete sysDump (a common benchmark) on a two-socket, 56-core system in about five minutes. But, quantitative comparisons were lacking.

Since sysDump retrieves a large amount of data from a system primarily with memory/IO reads, this is easily modeled using SourcePoint. One simple experiment is to use a “port” Python command to perform 10,000 sequential I/O reads and time the results. TCK frequency was set to 16MHz. Three solutions were compared:

  1. Our SourcePoint debugger
  2. Legacy
  3. ScanWorks Embedded Diagnostics (SED)

For those who may be unfamiliar, SED is an ASSET tool which supports Intel run-control, the Intel Python Command Environment, and the CScripts, without the use of a hardware probe. More information on SED can be found at Remote Application of Intel CScripts.

The results are as follows:

CScripts perf 2

As can be seen, SourcePoint is almost 3X faster than the Legacy approach. This is due to a far more efficient implementation of TCKs per TCK frequency required for atomic transactions, as well as lower overhead back at the CPU host.

Also notable is that SED is almost as fast as Legacy. This despite that fact that both Legacy and SourcePoint have the benefit of an FPGA accelerator, whereas SED (in this experiment) was done with an off-the-shelf Baseboard Management Controller (BMC). This BMC, however, implements an on-chip JTAG Master, which can run efficiently at up to close to 16MHz sustained TCK frequency, as opposed to most BMCs which will bit-wiggle GPIO and have a sustained TCK frequency closer to 1-2MHz.

So, if fast extraction and analysis of system data is desired, SourcePoint provides the most effective solution. SED has the advantage of being able to run the CScripts remotely without any need for probe hardware and cabling.

For more information on the CScripts themselves, see our eBook at Intel Debug using Python CScripts. Note that registration is required.