Description - phoronix/mafft

This test performs an alignment of 100 pyruvate decarboxylase sequences.

Metrics (Intel) - phoronix/mafft
sh - pid 7701
	On_CPU   0.858
	On_Core  6.867
	IPC      1.304
	Retire   0.439	(43.9%)
	FrontEnd 0.175	(17.5%)
	Spec     0.308	(30.8%)
	Backend  0.078	(7.8%)
	Elapsed   4.37
	Procs    145
	Maxrss   172K
	Minflt   80085
	Majflt   0
	Inblock  0
	Oublock  3784
	Msgsnd   0
	Msgrcv   0
	Nsignals 0
	Nvcsw    49796	(96.3%)
	Nivcsw   1909
	Utime    29.281264
	Stime    0.727976
	Start    47787.64
	Finish   47792.01

The program has a lot of little processes running and an overall On_CPU of 85%. There is a high level of speculative misses. Otherwise the IPC is medium and without much backend stalls. The process itself takes only 4 1/2 seconds. The high percentage of voluntary context switches also suggest I/O.

Metrics (AMD) - phoronix/mafft
sh - pid 31571
	On_CPU   0.513
	On_Core  8.205
	IPC      1.537
	FrontCyc 0.042	(4.2%)
	BackCyc  0.380	(38.0%)
	Elapsed   3.81
	Procs    161
	Maxrss   168K
	Minflt   90940
	Majflt   0
	Inblock  0
	Oublock  3784
	Msgsnd   0
	Msgrcv   0
	Nsignals 0
	Nvcsw    71232	(96.0%)
	Nivcsw   2987
	Utime    30.643080
	Stime    0.618453
	Start    116989.42
	Finish   116993.23

IPC on AMD is just slightly higher.

Process Tree - phoronix/mafft
Process Tree
    7701) sh elapsed=4.37 start=0.00 finish=4.37
      7702) mafft elapsed=4.37 start=0.00 finish=4.37
        7703) mafft elapsed=4.37 start=0.00 finish=4.37
          7704) dirname elapsed=0.00 start=0.01 finish=0.01
          7705) basename elapsed=0.00 start=0.01 finish=0.01
          7706) uname elapsed=0.00 start=0.01 finish=0.01
          7707) basename elapsed=0.00 start=0.01 finish=0.01
          7708) mafft elapsed=0.00 start=0.01 finish=0.01
            7709) mafft elapsed=0.00 start=0.01 finish=0.01
            7710) grep elapsed=0.00 start=0.01 finish=0.01
          7711) mafft elapsed=0.00 start=0.01 finish=0.01
            7712) mafft elapsed=0.00 start=0.01 finish=0.01
            7713) grep elapsed=0.00 start=0.01 finish=0.01
          7714) mafft elapsed=0.00 start=0.02 finish=0.02
            7715) mafft elapsed=0.00 start=0.02 finish=0.02
            7716) grep elapsed=0.00 start=0.02 finish=0.02
          7717) mafft elapsed=0.00 start=0.02 finish=0.02
            7718) mafft elapsed=0.00 start=0.02 finish=0.02
            7719) grep elapsed=0.00 start=0.02 finish=0.02
          7720) mafft elapsed=0.00 start=0.02 finish=0.02
            7721) mafft elapsed=0.00 start=0.02 finish=0.02
            7722) grep elapsed=0.00 start=0.02 finish=0.02
          7723) mafft elapsed=0.00 start=0.02 finish=0.02
            7724) mafft elapsed=0.00 start=0.02 finish=0.02
            7725) grep elapsed=0.00 start=0.02 finish=0.02
          7726) version elapsed=0.00 start=0.02 finish=0.02
          7727) expr elapsed=0.00 start=0.02 finish=0.02
          7728) expr elapsed=0.00 start=0.04 finish=0.04
          7729) expr elapsed=0.00 start=0.04 finish=0.04
          7730) expr elapsed=0.00 start=0.04 finish=0.04
          7731) expr elapsed=0.00 start=0.04 finish=0.04
          7732) mktemp elapsed=0.00 start=0.04 finish=0.04
          7733) mafft elapsed=0.00 start=0.04 finish=0.04
          7734) cat elapsed=0.00 start=0.04 finish=0.04
          7735) tr elapsed=0.00 start=0.04 finish=0.04
          7736) cat elapsed=0.00 start=0.04 finish=0.04
          7737) tr elapsed=0.00 start=0.04 finish=0.04
          7738) grep elapsed=0.00 start=0.04 finish=0.04
          7739) cat elapsed=0.00 start=0.04 finish=0.04
          7740) tr elapsed=0.00 start=0.04 finish=0.04
          7741) grep elapsed=0.00 start=0.04 finish=0.04
          7742) cat elapsed=0.00 start=0.04 finish=0.04
          7743) tr elapsed=0.00 start=0.04 finish=0.04
          7744) grep elapsed=0.01 start=0.04 finish=0.05
          7745) cat elapsed=0.00 start=0.05 finish=0.05
          7746) tr elapsed=0.00 start=0.05 finish=0.05
          7747) grep elapsed=0.00 start=0.05 finish=0.05
          7748) cat elapsed=0.00 start=0.05 finish=0.05
          7749) tr elapsed=0.00 start=0.05 finish=0.05
          7750) grep elapsed=0.00 start=0.05 finish=0.05
          7751) cat elapsed=0.00 start=0.05 finish=0.05
          7752) tr elapsed=0.00 start=0.05 finish=0.05
          7753) grep elapsed=0.00 start=0.05 finish=0.05
          7754) cat elapsed=0.00 start=0.05 finish=0.05
          7755) tr elapsed=0.00 start=0.05 finish=0.05
          7756) grep elapsed=0.00 start=0.05 finish=0.05
          7757) cat elapsed=0.00 start=0.05 finish=0.05
          7758) tr elapsed=0.00 start=0.05 finish=0.05
          7759) grep elapsed=0.00 start=0.05 finish=0.05
          7760) cat elapsed=0.00 start=0.05 finish=0.05
          7761) tr elapsed=0.00 start=0.05 finish=0.05
          7762) grep elapsed=0.00 start=0.05 finish=0.05
          7763) file elapsed=0.01 start=0.05 finish=0.06
          7764) grep elapsed=0.01 start=0.05 finish=0.06
          7765) file elapsed=0.00 start=0.06 finish=0.06
          7766) grep elapsed=0.00 start=0.06 finish=0.06
          7767) file elapsed=0.00 start=0.06 finish=0.06
          7768) grep elapsed=0.00 start=0.06 finish=0.06
          7769) file elapsed=0.00 start=0.06 finish=0.06
          7770) grep elapsed=0.00 start=0.06 finish=0.06
          7771) file elapsed=0.00 start=0.06 finish=0.06
          7772) grep elapsed=0.00 start=0.06 finish=0.06
          7773) file elapsed=0.00 start=0.06 finish=0.06
          7774) grep elapsed=0.00 start=0.06 finish=0.06
          7775) file elapsed=0.01 start=0.06 finish=0.07
          7776) grep elapsed=0.01 start=0.06 finish=0.07
          7777) file elapsed=0.00 start=0.07 finish=0.07
          7778) grep elapsed=0.00 start=0.07 finish=0.07
          7779) file elapsed=0.00 start=0.07 finish=0.07
          7780) grep elapsed=0.00 start=0.07 finish=0.07
          7781) file elapsed=0.00 start=0.07 finish=0.07
          7782) grep elapsed=0.00 start=0.07 finish=0.07
          7783) file elapsed=0.00 start=0.07 finish=0.07
          7784) grep elapsed=0.00 start=0.07 finish=0.07
          7785) file elapsed=0.00 start=0.07 finish=0.07
          7786) grep elapsed=0.00 start=0.07 finish=0.07
          7787) file elapsed=0.00 start=0.07 finish=0.07
          7788) grep elapsed=0.00 start=0.07 finish=0.07
          7789) file elapsed=0.00 start=0.07 finish=0.07
          7790) grep elapsed=0.00 start=0.07 finish=0.07
          7791) file elapsed=0.00 start=0.07 finish=0.07
          7792) grep elapsed=0.00 start=0.07 finish=0.07
          7793) file elapsed=0.00 start=0.07 finish=0.07
          7794) grep elapsed=0.00 start=0.07 finish=0.07
          7795) file elapsed=0.00 start=0.07 finish=0.07
          7796) grep elapsed=0.00 start=0.07 finish=0.07
          7797) awk elapsed=0.00 start=0.07 finish=0.07
          7798) awk elapsed=0.00 start=0.08 finish=0.08
          7799) awk elapsed=0.00 start=0.08 finish=0.08
          7800) awk elapsed=0.00 start=0.08 finish=0.08
          7801) awk elapsed=0.00 start=0.08 finish=0.08
          7802) awk elapsed=0.00 start=0.08 finish=0.08
          7803) awk elapsed=0.00 start=0.08 finish=0.08
          7804) awk elapsed=0.00 start=0.08 finish=0.08
          7805) awk elapsed=0.00 start=0.08 finish=0.08
          7806) awk elapsed=0.00 start=0.08 finish=0.08
          7807) awk elapsed=0.00 start=0.08 finish=0.08
          7808) mafft elapsed=0.00 start=0.08 finish=0.08
            7809) grep elapsed=0.00 start=0.08 finish=0.08
            7810) head elapsed=0.00 start=0.08 finish=0.08
          7811) mafft elapsed=0.00 start=0.08 finish=0.08
            7812) grep elapsed=0.00 start=0.08 finish=0.08
            7813) head elapsed=0.00 start=0.08 finish=0.08
          7814) awk elapsed=0.00 start=0.09 finish=0.09
          7815) cat elapsed=0.00 start=0.09 finish=0.09
          7816) cat elapsed=0.00 start=0.09 finish=0.09
          7817) tbfast elapsed=1.87 start=0.09 finish=1.96
          7818) tbfast elapsed=1.69 start=0.09 finish=1.78
          7819) tbfast elapsed=1.69 start=0.09 finish=1.78
          7820) tbfast elapsed=1.69 start=0.09 finish=1.78
          7821) tbfast elapsed=1.69 start=0.09 finish=1.78
          7822) tbfast elapsed=1.69 start=0.09 finish=1.78
          7823) tbfast elapsed=1.69 start=0.09 finish=1.78
          7824) tbfast elapsed=1.69 start=0.09 finish=1.78
          7825) tbfast elapsed=1.69 start=0.09 finish=1.78
          7826) tbfast elapsed=0.09 start=1.81 finish=1.90
          7827) tbfast elapsed=0.09 start=1.81 finish=1.90
          7828) tbfast elapsed=0.09 start=1.81 finish=1.90
          7829) tbfast elapsed=0.09 start=1.81 finish=1.90
          7830) tbfast elapsed=0.10 start=1.81 finish=1.91
          7831) tbfast elapsed=0.11 start=1.81 finish=1.92
          7832) tbfast elapsed=0.14 start=1.81 finish=1.95
          7833) tbfast elapsed=0.11 start=1.81 finish=1.92
          7834) dvtditr elapsed=2.41 start=1.96 finish=4.37
          7835) dvtditr elapsed=2.36 start=2.00 finish=4.36
          7836) dvtditr elapsed=2.37 start=2.00 finish=4.37
          7837) dvtditr elapsed=2.37 start=2.00 finish=4.37
          7838) dvtditr elapsed=2.37 start=2.00 finish=4.37
          7839) dvtditr elapsed=2.37 start=2.00 finish=4.37
          7840) dvtditr elapsed=2.37 start=2.00 finish=4.37
          7841) dvtditr elapsed=2.37 start=2.00 finish=4.37
          7842) dvtditr elapsed=2.37 start=2.00 finish=4.37
          7843) dvtditr elapsed=2.37 start=2.00 finish=4.37
          7844) cat elapsed=0.00 start=4.37 finish=4.37
          7845) rm elapsed=0.00 start=4.37 finish=4.37

The bulk of the time spent is running parallel instances of tbfast for 1.87 seconds and dvtditr for 2.37 seconds. Otherwise many small processes run and also some idle times.


Adding time from all processes shows gaps that account for only 85% On_CPU.

About this graph
Individual cores look same as total.


The IPC is moderately high.

About this graph
Speculative misses are the largest issue with lower levels of backend stalls.

Topdown (Intel)
retire         0.523
ms_uops                0.005
speculation    0.183
branch_misses          88.08%
machine_clears         11.92%
frontend       0.169
idq_uops_delivered_0   0.026
icache_stall               0.003
itlb_misses                0.000
idq_uops_delivered_1   0.052
idq_uops_delivered_2   0.112
idq_uops_delivered_3   0.146
dsb_ops                    84.70%
backend        0.124
resource_stalls.sb     0.029
stalls_ldm_pending     0.216

Speculative misses are mostly branch misses. The numbers are slightly different because it also includes the phoronix test suite actions and the benchmark is quick running.

Next steps: Understand branch misses.