per-thread instance singleton + UT
time-windowed instance singleton + UT